使用单个 arg 和 varargs 重载
Overloading with single arg and varargs
假设我有以下两个功能:
public foo(String str){
System.out.println(str);
}
public foo(String... str){
System.out.println("varargs");
for(String s: str){
System.out.println(s);
}
}
它会编译吗?
如果它会用 foo("hi")?
调用哪个 foo
Will it compile?
没有。因为您的两种方法都缺少 return 类型。
如果设置为void
:
public void foo(String str){
System.out.println(str);
}
public void foo(String... str){
System.out.println("varargs");
for(String s: str){
System.out.println(s);
}
}
然后它会编译。
If it will which foo will be called with foo("hi")
?
将调用foo(String str)
方法,您可以轻松查看。
假设我有以下两个功能:
public foo(String str){
System.out.println(str);
}
public foo(String... str){
System.out.println("varargs");
for(String s: str){
System.out.println(s);
}
}
它会编译吗? 如果它会用 foo("hi")?
调用哪个 fooWill it compile?
没有。因为您的两种方法都缺少 return 类型。
如果设置为void
:
public void foo(String str){
System.out.println(str);
}
public void foo(String... str){
System.out.println("varargs");
for(String s: str){
System.out.println(s);
}
}
然后它会编译。
If it will which foo will be called with
foo("hi")
?
将调用foo(String str)
方法,您可以轻松查看。