Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 除了初始化匿名数组,如何为其赋值?_Java_Arrays_Anonymous - Fatal编程技术网

Java 除了初始化匿名数组,如何为其赋值?

Java 除了初始化匿名数组,如何为其赋值?,java,arrays,anonymous,Java,Arrays,Anonymous,方法只接受匿名数组,如: setSomeValue(新字符串[]{'v1','v2','v3'); 我想先将另一个数组的值复制到此匿名数组中,然后再将其发送到setSomeValue方法 setsomeValue方法: public void setSomeValue(String[]pArrayName){vararray=pArrayName;} public void getSomeValue(){return vararray;} 但是调用getSomeValue的地方进行一些Rql

方法只接受匿名数组,如:

setSomeValue(新字符串[]{'v1','v2','v3');
我想先将另一个数组的值复制到此匿名数组中,然后再将其发送到setSomeValue方法

setsomeValue方法:

public void setSomeValue(String[]pArrayName){vararray=pArrayName;}
public void getSomeValue(){return vararray;}
但是调用getSomeValue的地方进行一些Rql查询等

QueryExpression值qe=
createConstantQueryExpression(getSomeValue());
我认为这是这个方法的关键
createConstantQueryExpression
期望和对象!但我一直在设置String[]数组,但由于它是匿名的,所以它被视为一个对象


回答:很抱歉让你们困惑。是的,你们都是天才,不要低估自己,lol。问题是,生成的查询不正确,内容有问题,数组本身被正确处理,不管它是否是匿名数组!是的,方法不接受任何条件只有匿名数组(至少在本例中不是)

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

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

复制阵列的最简单方法是使用clone()


顺便说一句:这是一个肤浅的复制。

等等,什么?一个方法不可能只接受匿名数组。这是怎么做到的?给我们展示这个方法,或者如果你没有写的话给它命名。有了这个确切的代码,你描述的场景是不可能的,但是可能是谷歌分配数组或者其他什么,也许是数组本身的奇怪行为虽然我从未见过这样的情况,但不可能如此直接地分配它们。我认为这与内存名/空间有关。它不希望传递数组名(var)。仅传递值或其他内容。尝试了复制/克隆/等。请向我们展示该方法,以便我们可以看到它需要的参数。public void setSomeValue(String[]pArrayName){vararray=pArrayName;}@Leena如果您自己编写了该方法,请向我们展示整个方法,如果您没有编写,请告诉我们该方法是如何调用的以及在哪个类中调用的。我已经向您展示了该代码、该方法的定义及其最终用途。请参阅更新的解释
String[] array = "v1,v2,v3".split(",");
String[] someOtherArray = array.clone();
setSomeValue(someOtherArray);