- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
4小时前关门了。
Improve this question
我有这样的功能
public Parcel dispatcher(arg1...arg12)
始终保证只有两个参数始终有效,而其余参数在任何给定点为空。
现在我是这样处理的
if (arg1 != null){
if(arg2 != null)
else if(arg3 != null)
...
else if(arg12 != null)
} else if (arg2 != null){
if(arg3 != null)
...
else if(arg12 != null)
}
...
else if(arg11 != null){
/*all unique combinations
are tested, hence arg12 will
always be valid here.*/
}
这种手动测试两个非空参数的每个唯一组合的方法非常烦人,我甚至不想尝试这样做。
有没有更好的办法来处理这件事。
编辑:它对不同的对做不同的事情,对的分组如下:复数,集合,字符串,变量,常量,项
每一个都有一个群,但不一定只有一个特定的群是有效的,我的意思是,一个复数和一个集合可以是有效的,或者两个复数的对可以是有效的。
2条答案
按热度按时间rdlzhqv91#
如果我没理解错你的问题,你需要一个方法,它总是接受两个参数,也可以选择接受其他参数。
使用可变位数(Variable Arity,又称varargs)方法,该方法自Java 5起可用:
确保:
1mrurvl12#
我认为你可以用反思: