我有一个接收许多参数的函数。
为了使我的代码看起来更清晰,更好地维护,我想将函数的某些部分外包给同一类中的另一个函数。
这个新函数需要与原始函数相同的参数。有没有办法一次传递这个函数的所有参数(当然以相同的顺序),而不必明确地写出来?
我有一个接收许多参数的函数。
为了使我的代码看起来更清晰,更好地维护,我想将函数的某些部分外包给同一类中的另一个函数。
这个新函数需要与原始函数相同的参数。有没有办法一次传递这个函数的所有参数(当然以相同的顺序),而不必明确地写出来?
如果您有超过 3 或 4 个参数,我会将它们封装在一个对象中并传递它而不是参数本身。
所以,而不是
void someMethod(String name, int age, double salary, char gender);
我会用
void someMethod(person);
有这样的人(你明白了)
class Person {
String name;
int age;
double salary;
char gender;
}
请阅读有关 java 中的 var args 的信息。我相信这是您正在寻找的解决方案。这里有一个小例子:http ://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html
虽然不能直接回答您的问题,但您可以尝试考虑创建单独的类,例如将MyFunctionParams
所有参数作为类属性并使用该类的对象来传递参数。
如果DTO design pattern
您有超过 3 个参数传递给函数,请使用。
DTO
-> Data transfer object
。创建一个包含所有必需参数的对象并将其传递给方法。
如果您不想创建新类,请使用 HashMap。
尝试
public void myMethod(Object... params){
// method body
}
进而
myMethod(param1,param2,param3);
或者
我的方法(参数 1,参数 2,参数 3,参数 4)
三个点表示您正在传递可变数量的参数。检查此链接 http://java.sun.com/docs/books/tutorial/java/javaOO/arguments.html#varargs