簡體   English   中英

在方法的參數中使用OR

[英]using OR in an argument to a method

如何將多個術語作為方法的單個參數包括在內?

例如:method聲明如下:

 public void showSchedules(String day, String AMPM);

我想打個電話

showSchedules ("Monday" || "Tuesday", AM);

但是運算符不能應用於java lang String。 有小費嗎?

您的建議是不可能的。 || Java中的operator是邏輯(布爾)運算符。 它評估兩邊的布爾表達式(如有必要),並返回布爾值。 因此,您的建議將永遠行不通,因為每一側的表達式都是字符串而不是布爾值。

您在這里有三個選擇:

  1. 將每個參數分別傳遞到方法中,或者如果您不知道將在數組或其他集合中傳遞多少個參數。
showSchedules("Monday", "Tuesday", AM) {...}

要么

showSchedules(new String[] {"Monday", "Tuesday"}, AM) {...}
  1. 調用該方法兩次,每次傳入一個參數,然后在調用方法中處理結果。

  2. 反轉參數的順序並使用varargs

showSchedules(String AmPm, String... days) {...}

不可以。您不能通過傳遞參數來做到這一點。 但是,您只能控制功能。

對於前

public void showSchedules(String day, String AMPM) {
    if (day.equals("Monday") ||  day.equals("Tuesday") ) {
       //TODO
    }

  }

您可以使用varargs完全做到這一點,如下所示:

一天將是一個字符串數組,您可以根據需要傳遞盡可能多的字符串

public void showSchedules(String AMPM, String... day) {
    // you'll have to iterate through them here
    for(String d:day)
{
  switch(d)
    {
        case "Monday":
        break;
        case "Tuesday":
        break;
    }
}

}

暫無
暫無

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

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