如何将值分配给匿名数组而不是初始化它?

时间:2012-04-25 16:46:23

标签: java arrays anonymous

Method只接受匿名数组,例如:

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

我希望在将另一个数组的值发送到setSomeValue方法之前将其复制到此匿名数组中。

setsomeValue方法:

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

public void getSomeValue() { return vararray;} 

但调用getSomeValue的地方会执行一些Rql Querys等等。

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

我认为这是方法createConstantQueryExpression期望和对象的关键!但我一直在设置String []数组,但由于它是匿名的,它被视为一个Object。

回答:很抱歉让你困惑的是..是的你们都是天才不要低估自己大声笑..问题是生成的查询不正确,内容有问题,数组本身处理得当是否是一个匿名数组!并且没有条件,方法只接受匿名数组(至少在这种情况下不是)

2 个答案:

答案 0 :(得分:3)

如果要将数组副本传递给方法,请尝试以下方法:

setSomeValue(Arrays.copyOf(arr, arr.length));

答案 1 :(得分:0)

复制数组的最简单方法是使用clone()

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

顺便说一句:这是一个很浅的副本。