0

单个 method() 参数可以有两个或多个变量类型吗?

目前,您可以执行以下操作:

method(String string, int int, etc...) {
}

如果你想做类似的事情怎么办

method(String or int stringint) {
}

可以这样做吗?

4

3 回答 3

0

只需重载方法签名。

public void someMethod(string argument){
}

public void someMethod(int argument){
}
于 2013-08-18T09:33:01.087 回答
0

如果你必须坚持一个参数,你可以使用一个包装器,它包含两个字段:

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
    }
}
于 2013-08-18T09:43:55.277 回答
0

我会这样做:

private boolean function(String str){
    // Do stuff
}
private boolean function(int intStr){
    String str = convertToString(intStr);
    return function(str);
}

避免不必要的课程等。

于 2013-08-18T10:04:42.447 回答