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。
答案 0 :(得分:3)
如果要将数组副本传递给方法,请尝试以下方法:
setSomeValue(Arrays.copyOf(arr, arr.length));
答案 1 :(得分:0)
复制数组的最简单方法是使用clone()
String[] array = "v1,v2,v3".split(",");
String[] someOtherArray = array.clone();
setSomeValue(someOtherArray);
顺便说一句:这是一个很浅的副本。