我有一个方法,我想为其输入两种类型。例如:
这是我的方法:
private int myMethod(/*inputs*/) {
//do stuff
}
,如果我像myMethod(5);
这样称呼它,它将执行一些操作。但是如果我将其命名为myMethod(5 , Alex)
,它的效果与上次非常相似,但返回类型不同。
有可能这样做吗?我正在尝试避免代码重复。
答案 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]);