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

时间:2013-08-18 09:30:42

标签: android methods

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

目前,你可以这样做:

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

如果您想要执行类似

的操作,该怎么办?
method(String or int stringint) {
}

可以这样做吗?

3 个答案:

答案 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);
}

避免不必要的课程等。