繁体   English   中英

用单个if语句替换多个if语句

[英]Replacing multiple if statements with a single if statement

我的代码应该采用字符串,如果此字符串==“ Help”,它将执行任务X;如果此字符串=“ 10.0.0.i”,它将执行任务Y。这是代码:

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 )。

如果对于以“ 10.0.0”开头的消息仅更改了最后一个字符,则可以在“ Help”以外的其他情况下使用startsWith()

if (message.equals("Help")) {
   //do X
} else if (message.startsWith("10.0.0")){
   //do Y
}

一种选择是使用正则表达式:

if ((message.matches("10\\.0\\.0\\.[1234]")) {
    // do Y
}

类型转换还有另一种选择。

    int i=9;

    if(message.equals("Help")) {
                        //do X
    }else if ((message.equals("10.0.0."+String.valueOf(i))){
                        //do Y
    }

伙计们,您使用此解决方案变得过于复杂。 如果说帮助,则执行x,如果说其他,则执行y

if(message.equals("Help")) {
                        //do X
}
else {
    //do y
}

他没有说y必须要做100项不同的事情,而无须帮助。 因此,仅需一个非常简单的if / else语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM