Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 传递函数的所有参数_Java - Fatal编程技术网

Java 传递函数的所有参数

Java 传递函数的所有参数,java,Java,我有一个函数,它接收许多参数 为了使我的代码看起来更清晰,更易于维护,我想将函数的某些部分外包给同一类中的另一个函数 此新函数需要与原始函数相同的参数。 有没有一种方法可以一次传递此函数的所有参数(当然是以相同的顺序),而不必显式地编写它们?试试看 public void myMethod(Object... params){ // method body } 然后 myMethod(param1,param2,param3); 或 myMethod(参数1、参数2、参数3、参数4)

我有一个函数,它接收许多参数

为了使我的代码看起来更清晰,更易于维护,我想将函数的某些部分外包给同一类中的另一个函数

此新函数需要与原始函数相同的参数。 有没有一种方法可以一次传递此函数的所有参数(当然是以相同的顺序),而不必显式地编写它们?

试试看

public void myMethod(Object... params){
    // method body
}
然后

myMethod(param1,param2,param3);

myMethod(参数1、参数2、参数3、参数4)

三个点表示传递的参数数量可变。检查此链接,然后重试

public void myMethod(Object... params){
    // method body
}
然后

myMethod(param1,param2,param3);

myMethod(参数1、参数2、参数3、参数4)


三个点表示传递的参数数量可变。检查此链接

如果您有3个或4个以上的参数,我会将它们封装在一个对象中,并传递这些参数,而不是参数本身

因此,与其

void someMethod(String name, int age, double salary, char gender);
我会用

void someMethod(person);
人是这样的(你明白了)


如果您有3个或4个以上的参数,我会将它们封装在一个对象中,并传递这些参数,而不是参数本身

因此,与其

void someMethod(String name, int age, double salary, char gender);
我会用

void someMethod(person);
人是这样的(你明白了)


请阅读java中的var args。我相信这就是你们正在寻找的解决方案。
这里有一个小例子:

请阅读java中的var args。我相信这就是你们正在寻找的解决方案。
这里有一个小例子:

而不是直接回答您的问题,您可以尝试考虑将所有的类作为类属性,并使用该类的对象传递参数,来创建单独的类,如<代码> MyFunctionParams <代码>。

>P>而不是直接回答您的问题,您可以尝试考虑将所有的类作为类属性,并使用该类的对象传递参数,考虑创建单独的类,如<代码> MyFunctionParams <代码>。 如果传递给函数的参数超过3个,则使用

DTO设计模式

DTO
->
数据传输对象
。 创建一个包含所有必需参数的对象,并将其传递给方法


如果不想创建新类,则使用HashMap。

如果传递给函数的参数超过3个,则使用
DTO设计模式

DTO
->
数据传输对象
。 创建一个包含所有必需参数的对象,并将其传递给方法


如果你不想创建一个新类,那么就使用HashMap。

如果你经常需要这些参数,也许你应该创建一个将它们作为属性的类。你来自
Perl
背景吗?如果是这样,不幸的是,没有
&
来传递它们或
@
来获取它们。如果您经常需要这些参数,也许您应该创建一个将它们作为属性的类。您是否来自
Perl
背景?如果是这样,不幸的是,没有
&
来传递它们,也没有
@
来获取它们。