只有我感觉 StandardOpenOption 的设计很难理解和记忆吗?
它的各个枚举项之间是什么关系? 哪些枚举项之间有冲突? 读和写操作的缺省枚举项是什么?
每次都要翻相关文档查阅用法, 根本记不住。
它的各个枚举项就像一个大杂烩。
我能说这是设计的最烂的Java API吗?
2024-12-23 补充:举一个简单的例子:
如果选择 写操作,WRITE,但是既未选择 CREATE、也未选择CREATE_NEW
问题1:上面的用法是正确的、还是错误的? 假如是错误的,在API哪个地方能找到对应说明?
问题2:假如上面用法是正确的,那么文件不存在时,是默认CREATE?还是报错? 在API哪个地方能找到对应说明?这些规则要靠人猜测的吗? 或者要去实际测试完,才能知道的吗?
所以我说这是一个设计混乱的API
多谢 @Seven的回答,虽然并没有能解决我的困惑。
枚举项及其关系
StandardOpenOption 是一个枚举类,定义了文件操作的标准选项。常用的枚举项包括:
枚举项之间的冲突
读和写操作的缺省枚举项
补充
分类记忆
将枚举项按功能分类,有助于理解和记忆。比如: