如何使字符串变量在java中只有很少的预定义值

shu*_*pta -1 java string enums

我想创建一个定义字符串变量的类,它只能有很少的预定义值.

public class Constraint{                 
     String const; // I want this constraint value to be fixed to either of {greaterthan,lesserthan,greaterthanequalto or lesserthanequalto}
     public Constraint(String const){
               this.const = const;
      }
}
Run Code Online (Sandbox Code Playgroud)

如果发送任何其他值,程序应该抛出错误.我想在这里使用enum这样的东西,但我想为Strings这样做.

Gho*_*ica 5

您正在寻找的概念称为Enum.

只是不要试图重新发明一个功能较弱,不那么"标准"的解决方法.

说真的:enums为您提供编译时安全性.使用它们.

另一种选择是你的"常量"类包含一组固定的"有效"字符串; 你只需在"setter"中检查传入的字符串是否在该Set中列出.当然,您应该确保常量类的用户可以访问该Set的内容,这样他们就可以在需要时"知道"那些有效的字符串.