我在这里阅读了许多答案,确认了我(非常明显)关于String在处理小型封闭值集时使用枚举而不是对象的意见。
但是最近我注意到 Java API 中的几个例子做出了相反的选择。我现在只记得这个
public RandomAccessFile(File file, String mode)
Run Code Online (Sandbox Code Playgroud)
其中mode参数只能是r, rw,rws或rwd。否则,IllegalArgumentException将抛出异常。
我能想到的唯一原因是这种方法可能是在 Java 语言中引入 enum 之前的,对吗?如果这是真的,那么今天是否存在选择 String 而不是 enum 对封闭集有意义的情况?