我正在使用简单的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"
,它也应该这样做。怎么做?
答案 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"))
.....