-2

メソッドは、次のような匿名配列のみを受け入れます。

setSomeValue(new String[] {'v1', 'v2', 'v3'));

setSomeValue メソッドに送信する前に、別の配列の値をこの無名配列にコピーしたいと考えています。

setsomeValue メソッド:

public void setSomeValue(String[] pArrayName) { vararray = pArrayName; } 

public void getSomeValue() { return vararray;} 

しかし、getSomeValue が呼び出される場所では、いくつかの Rql クエリなどが実行されます。

QueryExpression valueQE =
    pQueryBuilder.createConstantQueryExpression(getSomeValue());

createConstantQueryExpressionこれは、このメソッドが期待するキーであり、オブジェクトだと思います! しかし、ずっと String[] 配列を設定していますが、匿名であるため、オブジェクトとして扱われています。

ANSWER: 混乱させて申し訳ありません..はい、あなたはすべて天才です.自分自身を過小評価しないでください..匿名配列かどうか! はい、メソッドが匿名配列のみを受け入れる条件はありません(少なくともこの場合はそうではありません)

4

2 に答える 2

3

配列のコピーをメソッドに渡したい場合は、これを試してください:

setSomeValue(Arrays.copyOf(arr, arr.length));
于 2012-04-25T16:49:01.953 に答える
0

配列をコピーする最も簡単な方法は、 clone() を使用することです

String[] array = "v1,v2,v3".split(",");
String[] someOtherArray = array.clone();
setSomeValue(someOtherArray);

ところで:これは浅いコピーを行います。

于 2012-04-25T17:10:42.193 に答える