我想创建一个定义字符串变量的类,它只能有很少的预定义值。
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这样做。
答案 0 :(得分:5)
您正在寻找的概念称为Enum。
只是不要试图重新发明一个不那么强大,更少的标准"解决方法。
说真的:enums为您提供编译时间安全。使用它们。
替代方案是你的"常数" class包含一个最终的固定Set"有效"串;你只需登记你的" setter"传入的字符串列在该集合中。当然,您应该确保常量类的用户可以访问该Set的内容,这样他们就可以知道"那些有效的字符串,当他们需要时。