[英]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.