繁体   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