一种方法可以有多种输入吗?

时间:2020-05-06 05:26:47

标签: java

我有一个方法,我想为其输入两种类型。例如:

这是我的方法:

     private int myMethod(/*inputs*/) {
        //do stuff
     }

,如果我像myMethod(5);这样称呼它,它将执行一些操作。但是如果我将其命名为myMethod(5 , Alex),它的效果与上次非常相似,但返回类型不同。

有可能这样做吗?我正在尝试避免代码重复。

4 个答案:

答案 0 :(得分:4)

这称为方法重载。是的,你可以这样做。 但是您将不得不编写两种方法

private int myMethod(int input) {
        //do stuff
}

private int myMethod(int input, String anotherInput) {
        //do stuff differently
}

答案 1 :(得分:0)

用于发送具有一种以上输入类型的多个参数:

 public static void print( Object... values){
       for(Object d : values){
          System.out.println(d);
       }
 }

然后:

print("test","test1",1,2,3);

或查看此示例了解一种类型的输入:

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

答案 2 :(得分:0)

U可以传递空值并检查其值是否为空,然后相应地执行。如果您不熟悉Java,请尝试方法重载的概念。

myMethod(int i, String s){
 if(s != null ){
  //do stuff
 }else{
  //do stuff
}

答案 3 :(得分:0)

您可以创建参数为 String Type Arrary 的方法。 如果您想避免重复(方法重载) :

 private int myMethod(String [] in)
     {

     }

然后,您可以将传递给方法参数的 String数组的第一个-不仅是第一个值转换为任何 DataType

使用以下方法: valueOf()

int i = Integer.valueOf(in[0]);