それはあまり慣用的なJavaではありません。通常、ソフトウェア設計にはより良いアプローチがあります。
「1要素配列」で実際に行っているのは、可変オブジェクトを作成し(intのようなプリミティブと同様にStringは不変であるため)、それを参照渡しすることです。この変更可能なオブジェクトを変更することは、メソッドの「副作用」と呼ばれます。一般に、可変性 ( Effective Java Item 15 ) を最小限に抑え、メソッドに副作用がないようにする必要があります。ここにはいくつかのアプローチがあります。
1. メソッドを、すべて同じパラメータを取る 2 つ (または 3 つ) のメソッドに分割します。
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>);
}