这不是很惯用的java。通常有更好的软件设计方法。
你真正用“单元素数组”做的是创建一个可变对象(因为 String 是不可变的,像 int 这样的原语也是不可变的)并通过引用传递它。修改这个可变对象称为该方法的“副作用”。一般来说,你应该尽量减少可变性(Effective Java Item 15)并且你的方法应该没有副作用。这里有几种方法。
1. 将方法拆分为两个(或三个)都采用相同参数的方法:
public static int foo1(int param1)
{
// method body
....
return <some value>;
}
同样,您可能有
public static int foo2(int param1) { ... }
和
public static String foo3(int param1) { ... }
.
2. 返回一个复合对象。
public Container {
private final int originalReturn;
private final int param2;
private final String param3;
public Container(int originalReturn, int param2, String param3) {
this.originalReturn = originalReturn;
this.param2 = param2;
this.param3 = param3;
}
// getters
}
public static Container foo(int param1, int param2[], String param3[])
{
// method body
....
// set return values
return new Container(<some value>, <some value>, <some value>);
}