-3

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

if (something.equals("ABC"))

      expectedvalue = "TEST1";

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

      expectedvalue = "TEST5";

// and so on....

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

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

4

2 回答 2

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
于 2013-08-02T17:33:56.070 回答
0

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

if(expectedvalue.equals("TEST1") || expectedvalue.equals("TEST2"))
     .....
于 2013-08-02T17:34:23.350 回答