如何将多个术语作为方法的单个参数包含在内?
例如: 方法声明如下:
public void showSchedules(String day, String AMPM);
我想打电话给
showSchedules ("Monday" || "Tuesday", AM);
但是运算符不能应用于java lang String。 有什么提示吗?
答案 0 :(得分:3)
你的建议是不可能的。 || Java中的operator是一个逻辑(布尔)运算符。它评估任一侧的布尔表达式(如果需要)并返回一个布尔值。所以你的建议永远不会奏效,因为每一方的表达都是字符串而不是布尔值。
这里有三个选项:
showSchedules("Monday", "Tuesday", AM) {...}
或
showSchedules(new String[] {"Monday", "Tuesday"}, AM) {...}
调用方法两次,每次传入一个参数,然后在调用方法中处理结果。
反转参数的顺序并使用 varargs :
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;
}
}
}