簡體   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