单个method()参数可以有两个或更多变量类型吗?
目前,你可以这样做:
method(String string, int int, etc...) {
}
如果您想要执行类似
的操作,该怎么办?method(String or int stringint) {
}
可以这样做吗?
答案 0 :(得分:0)
只是重载方法签名。
public void someMethod(string argument){
}
public void someMethod(int argument){
}
答案 1 :(得分:0)
如果您必须坚持使用一个参数,可以使用包含两个fiel的包装器:
public class MyWrapper
{
String stringValue;
int intValue;
}
public void someMethod(MyWrapper arg)
{
if(arg.stringField != null)
{
// do something with the string
}
/* checking for the default value 0 makes no sense here, since it
might be a value you actually want to pass - The first conditional
statement covers the case you actually only passed a string
*/
else
{
// do something with the int
}
}
答案 2 :(得分:0)
我会这样做:
private boolean function(String str){
// Do stuff
}
private boolean function(int intStr){
String str = convertToString(intStr);
return function(str);
}
避免不必要的课程等。