我的代码应该使用一个字符串,如果该字符串==“ Help”,它将执行任务X;如果此字符串=“ 10.0.0.i”,它将执行任务Y。这是代码:< / p>
if(message.equals("Help")) {
//do X
}
else if ((message.equals("10.0.0.1")){
//do Y
}
else if ((message.equals("10.0.0.2")){
//do Y
}
else if ((message.equals("10.0.0.3")){
//do Y
}
else if ((message.equals("10.0.0.4")){
//do Y
}
.
.
.
我是Java新手。由于在message =“ 10.0.0.i”中,只有最后一个字符正在更改,并且此代码将为所有这些字符实现任务Y,因此我想知道是否有可能将所有这些条件语句if ((message.equals("10.0.0.i"))
替换为单个“ if”(而不是分别为“ 10.0.0.1”,“ 10.0.0.2”等写if
)。
答案 0 :(得分:4)
如果以“ 10.0.0”开头的消息仅更改了最后一个字符,则对于“帮助”以外的其他情况,您可以使用startsWith()
:
if (message.equals("Help")) {
//do X
} else if (message.startsWith("10.0.0")){
//do Y
}
答案 1 :(得分:2)
一种选择是使用正则表达式:
if ((message.matches("10\\.0\\.0\\.[1234]")) {
// do Y
}
答案 2 :(得分:0)
类型转换还有另一种选择。
int i=9;
if(message.equals("Help")) {
//do X
}else if ((message.equals("10.0.0."+String.valueOf(i))){
//do Y
}
答案 3 :(得分:0)
伙计,您使用此解决方案变得过于复杂。如果说帮助,则执行x,如果说其他,则执行y
count
datetime article
01.01.2018 09-10 Car 2
Horse 1
01.01.2018 10-11 Car 1
02.01.2018 09-10 Horse 2
02.01.2018 10-11 Car 1
Horse 1
他没有说y必须要做100项不同的事情,只是帮助之外的所有事情都必须做y。因此只需一个非常简单的if / else语句。