簡體   English   中英

有沒有更干凈的方法來做這個 if 語句?

[英]Is there a cleaner way of doing this if statement?

if(input.charAt(i) == '0' || input.charAt(i) == '1' || input.charAt(i) == '2') {
}

有沒有辦法濃縮這個 if 條件,或者沒有?

您可以檢查該字符是否與公共String中的任何索引匹配。 喜歡,

if ("012".indexOf(input.charAt(i)) > -1) {

}

也許更具可讀性(在 java 9+ 中)

if (Set.of('0', '1', '2').contains(input.charAt(i))) {

}

您可以通過在變量中分配字符查找結果來縮短它(但仍然是三個相等檢查)。

char c = input.charAt(i);
if(c == '0' || c == '1' || c == '2') {
}

您可以查看其他答案,例如創建 Set/Array 並執行包含檢查是否將來相等檢查的數量會增加。 IMO,按原樣寫三張支票應該沒問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM