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

时间:2017-01-19 08:24:56

标签: 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;
      }
}

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

1 个答案:

答案 0 :(得分:5)

您正在寻找的概念称为Enum

只是不要试图重新发明一个不那么强大,更少的标准"解决方法。

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

替代方案是你的"常数" class包含一个最终的固定Set"有效"串;你只需登记你的" setter"传入的字符串列在该集合中。当然,您应该确保常量类的用户可以访问该Set的内容,这样他们就可以知道"那些有效的字符串,当他们需要时。