在方法的参数中使用OR

时间:2016-04-29 15:19:53

标签: java string parameters

如何将多个术语作为方法的单个参数包含在内?

例如: 方法声明如下:

 public void showSchedules(String day, String AMPM);

我想打电话给

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

但是运算符不能应用于java lang String。 有什么提示吗?

3 个答案:

答案 0 :(得分:3)

你的建议是不可能的。 || Java中的operator是一个逻辑(布尔)运算符。它评估任一侧的布尔表达式(如果需要)并返回一个布尔值。所以你的建议永远不会奏效,因为每一方的表达都是字符串而不是布尔值。

这里有三个选项:

  1. 将每个参数单独传递给方法,或者如果您不知道将在数组或其他集合中传递多少个参数。
  2. showSchedules("Monday", "Tuesday", AM) {...}

    showSchedules(new String[] {"Monday", "Tuesday"}, AM) {...}
    1. 调用方法两次,每次传入一个参数,然后在调用方法中处理结果。

    2. 反转参数的顺序并使用 varargs

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

答案 1 :(得分:1)

没有。你不能在传递参数时这样做。但是,您只能控制功能。

前者

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

  }

答案 2 :(得分:-1)

你可以完全用varargs这样做:

day将是一个字符串数组,您可以根据需要传递

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;
    }
}

}