簡體   English   中英

如何與.equals函數進行多個比較,或者可以使用另一個函數進行檢查?

[英]How can I use more than one comparison with the .equals function or is there another function that I can use to check?

順便說一句,這只是我代碼的簡短版本,我唯一的問題是從.equalsIgnoreCase過來的。 我已經試過管道操作員|| 而且對於“或”也不起作用。 讓我知道,謝謝。 它也在Java中。

if(sWord.substring(0,sWord.length()).equalsIgnoreCase("ch","sh","s","x","z"       
    {
        lblPluralOutput.setText(sWord + "es");
    }           
}

不,您不能直接那樣做。 將所有可能的值放入數組中,並檢查您的字符串是否在該數組中。

String[] items ={"ch","sh","s","x","z"};
for (String item : items) {
    if (sWord.substring(0,sWord.length()).equalsIgnoreCase(item)) {
       lblPluralOutput.setText(sWord + "es");
        break; 
    } 
}

sWord.substring(0,sWord.length())再次為您提供了相同的字符串。 是錯字嗎?

這些功能僅采用一個參數。

如果要檢查字符串是否等於兩件事之一,則需要單獨檢查:

if (a.equals(b) || a.equals(c))

您不能使用String#equalsIgnoreCase(Str)導致僅接收一個參數。 但是您可以使用util方法。

這樣的事情。 我們可以使其通用。

public final class UtilClass{
    private UtilClass(){}

    public static <T> boolean  isSomeOneEquals(T myParam, T ... a){
        return Arrays.asList(a).contains(myParam);
    }
}

因此,在您的示例中,只需輸入:

UtilClass.isSomeOneEquals( sWord.substring(someIndex,sWord.length()).toLowerCase(), "ch","sh","s","x","z" );

暫無
暫無

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

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