Java:向方法发送多个参数

标签 java methods

这是我的场景:

我必须调用一个方法。设参数为: Parameter1, Parameter2, .. , .. , 参数 N 但是要发送到方法的参数可能会在每种情况下发生变化。

案例1:只发送Parameter1

案例2:发送参数组合

案例3:发送所有参数

在 Java 中实现这一目标的最佳方法是什么?

最佳答案

解决方案取决于问题的答案 - 所有参数都将是同一类型吗?如果是,每个参数都将被同等对待吗?

如果参数类型不同,或者更重要的是不会被同等对待,那么你应该使用方法重载:

public class MyClass
{
  public void doSomething(int i) 
  {
    ...
  }

  public void doSomething(int i, String s) 
  {
    ...
  }

  public void doSomething(int i, String s, boolean b) 
  {
    ...
  }
}

但是,如果每个参数都是相同的类型并且将被以相同的方式处理,那么您可以使用 Java 中的变量 args 功能:

public MyClass 
{
  public void doSomething(int... integers)
  {
    for (int i : integers) 
    {
      ...
    }
  }
}

显然,当使用变量 args 时,您可以通过索引访问每个 arg,但我建议您不要这样做,因为在大多数情况下,它暗示您的设计存在问题。同样,如果您在迭代参数时发现自己在进行类型检查,那么您的设计需要审查。

关于Java:向方法发送多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17837117/

相关文章:

java - 在 Java 中打开枚举不会转到正确的大小写

java - 自动将 JPA 实体的 JSON 字符串列映射到 Java 对象

java - 方法调用 - 空参数字段

java - 如何修复 java 中不需要的新行?

Python 方法访问器在每次访问时创建新对象?

java - 如何使用 Java 自动化质询-响应身份验证

java - 如何从包含 XML 的字符串中删除第一行?

java - 为什么Java中不能扩展注解?

javascript - 参数作为对象项?

java - 无法调用对象方法