我已经开发了一种非常基本的方法来处理这种情况。
我在字符串中使用了分隔符的逻辑。
例如如果你需要在同一个函数中返回 1. int 值 2. double 值 3. String 值
您可以使用分隔符字符串
例如“,.”这种字符串一般不会出现在任何地方。
您可以返回一个由此分隔符分隔的所有值组成的字符串
"< int value >,.,< double value >,.,< String value >"
并转换为使用 String.split(separtor)[index]调用函数的等效类型
请参阅以下代码进行解释 -
使用的分隔符 =",.,"
public class TestMultipleReturns{
public static void main(String args[]){
String result = getMultipleValues();
int intval = Integer.parseInt(result.split(",.,")[0]);
double doubleval = Double.parseDouble(result.split(",.,")[1]);
String strval = result.split(",.,")[2];
}
public static String getMultipleValues(){
int intval = 231;//some int value
double doubleval = 3.14;//some double val
String strval = "hello";//some String val
return(intval+",.,"+doubleval+",.,"+strval);
}
}
当您不想只为函数返回增加类的数量时,这种方法可以用作快捷方式
采取哪种方法取决于具体情况。