Java-关于字符串

时间:2013-08-02 17:31:52

标签: java string

我正在使用简单的Java进行一些验证,我的编码如下

if (something.equals("ABC"))

      expectedvalue = "TEST1";

else if(something.equals("DEF"))

      expectedvalue = "TEST5";

// and so on....

我的问题是,如果something.equals("ABC")expectedvalue可以是这两个值中的任何一个 - > "TEST1""TEST2"

在验证期间,在输出中,如果我为"TEST1"提供expectedvalue,则不会收到错误。即使我给"TEST2",它也应该这样做。怎么做?

2 个答案:

答案 0 :(得分:2)

您必须拥有一组允许的值。

Set<String> allowed = new HashSet<String>();
allowed.put("TEST1");
allowed.put("TEST2");

//and then you can use this set
if (allowed.contains(yourValueToCheck)) {
    // do what you need

另请注意,比较这样的字符串会更安全:

if ("ABC".equals(something)) // to protect yourself from NullPointerExceptions

答案 1 :(得分:0)

也许您可以将测试更改为使用OR语句进行测试?

if(expectedvalue.equals("TEST1") || expectedvalue.equals("TEST2"))
     .....