在Java中,是否可以使用三元组将多个参数传递给方法调用?
例如 - 在方法中有:
print(degree == 270 ? "e", 5 : "t", 6);
调用:
public void print(String s, int t){
}
使用三元数我想传入e和5 OR t和6.无需复制代码 - 如:
print(degree == 270 ? "e" : "t", degree == 270? 5 : 6);
我不认为有些理解,我不想在上面使用这种方法,它运行检查不必要的时间。
答案 0 :(得分:1)
为什么不
(degree == 270) ? print("e", 5) : print("t", 6);
编辑:显然在java中不起作用:/
答案 1 :(得分:1)
如果你的表达式包含一个包含两个值(s和t)作为变量的包装器对象,那么你可能需要实例化它们。为了使你的代码更好,我会尝试类似的东西:
if(degree == 270) {
print("e", 5);
}
else {
print("f", 6);
}
或
switch(degree) {
case 270:
print("e", 5);
break;
default:
print("f", 6);
break;
}
只要你与absoute值(不是范围)进行比较。
我知道这不是您正在寻找的东西,但通常情况下,在企业环境中,这是建议使用的符号,因为对于其他人来说,这是最容易理解的代码,如果有些新手那么会减少错误的风险程序员必须改变一些东西。
最后,编译后的代码无论如何都会有效。事实上,我认为你的第二个选项会经历两次条件表达式,在这种情况下,最好只使用我写的其中一个选项。
此致
答案 2 :(得分:0)
条件表达式(这是官方名称)就像任何其他Java表达式一样。就周围的方法调用而言,只有它的结果很重要。很明显,你不能使用一个表达式来指定两个参数,因为每个参数都是它自己的表达式。