我想创建一个定义字符串变量的类,它只能有很少的预定义值.
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; } }
如果发送任何其他值,程序应该抛出错误.我想在这里使用enum这样的东西,但我想为Strings这样做.
您正在寻找的概念称为Enum.
只是不要试图重新发明一个功能较弱,不那么"标准"的解决方法.
说真的:enums为您提供编译时安全性.使用它们.
另一种选择是你的"常量"类包含一组固定的"有效"字符串; 你只需在"setter"中检查传入的字符串是否在该Set中列出.当然,您应该确保常量类的用户可以访问该Set的内容,这样他们就可以在需要时"知道"那些有效的字符串.