为什么 RandomAccessFile 将字符串而不是枚举作为“模式”参数?

Lui*_*ese 2 java enums

我在这里阅读了许多答案,确认了我(非常明显)关于String在处理小型封闭值集时使用枚举而不是对象的意见。

但是最近我注意到 Java API 中的几个例子做出了相反的选择。我现在只记得这个

public RandomAccessFile(File file, String mode)
Run Code Online (Sandbox Code Playgroud)

其中mode参数只能是r, rw,rwsrwd。否则,IllegalArgumentException将抛出异常。

我能想到的唯一原因是这种方法可能是在 Java 语言中引入 enum 之前的,对吗?如果这是真的,那么今天是否存在选择 String 而不是 enum 对封闭集有意义的情况?

tdd*_*key 5

RandomAccessFile 从 JDK1.0 开始就存在,而在 JDK5.0 中引入了枚举。

  • 这不会阻止使用基于枚举的新构造函数更新类... (2认同)