单个 method() 参数可以有两个或多个变量类型吗?
目前,您可以执行以下操作:
method(String string, int int, etc...) {
}
如果你想做类似的事情怎么办
method(String or int stringint) {
}
可以这样做吗?
只需重载方法签名。
public void someMethod(string argument){
}
public void someMethod(int argument){
}
如果你必须坚持一个参数,你可以使用一个包装器,它包含两个字段:
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
}
}
我会这样做:
private boolean function(String str){
// Do stuff
}
private boolean function(int intStr){
String str = convertToString(intStr);
return function(str);
}
避免不必要的课程等。