-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[] 数组,但由于它是匿名的,所以它被视为一个对象。

回答:对不起,让你们混淆了。。是的,你们都是天才,不要低估自己,哈哈。。问题是正在生成的查询不正确,内容有问题,数组本身是否被正确处理一个匿名数组与否!并且是的,没有条件只接受一个匿名数组(至少在这种情况下不是)

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 回答