Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Arrays - Fatal编程技术网

Java 向列表中添加字符串数组

Java 向列表中添加字符串数组,java,list,arrays,Java,List,Arrays,对于add方法,如何将字符串数组添加到字符串数组列表中? 例如: 编辑:是的,我尝试过myList.addmyString,但是,只希望myString的值不通过引用传递 List<String[]> myList = new ArrayList<String[]>(); String[] myString = {"foo", "bar"}; myList.add(myString); 应该有效更新答案 针对此, 编辑:是的,我试过myList.addmyString

对于add方法,如何将字符串数组添加到字符串数组列表中? 例如:

编辑:是的,我尝试过myList.addmyString,但是,只希望myString的值不通过引用传递

List<String[]> myList = new ArrayList<String[]>();
String[] myString = {"foo", "bar"};
myList.add(myString); 
应该有效

更新答案 针对此,

编辑:是的,我试过myList.addmyString,但是,只想要 myString的值不能通过引用传递

List<String[]> myList = new ArrayList<String[]>();
String[] myString = {"foo", "bar"};
myList.add(myString); 
旧答案 为什么要使用新字符串[]

注意:如果要动态生成数组,可以执行以下操作:

myList.add(new String[] {"string1", "string2", "foo", "bar"});
因此,您的示例可以缩短为:

List<String[]> myList = new ArrayList<String[]>();
myList.add(new String[] {"foo", "bar"});

您是否已尝试myList.addmyString

这个答案是在对你的帖子进行编辑之后得出的。您不必显式地创建另一个变量,请使用

所以你可以简单地写:

myList.add(Arrays.copyOf(myString, myString.length));

我想myList.addmyString将完成您的工作。编辑了我的帖子以澄清。@meiryo我添加了一个答案,但没有明确创建新变量。感谢更新的答案。但这是唯一的解决办法吗?感觉有点奇怪,Java没有一个较短的解决方案,而且不得不创建另一个变量来完成它。@meiryo重新更新了答案,但是的,您必须创建一个新变量。@Doorknob回答得不错。但是您不必显式地创建新变量。看看我的答案。@jlordo-Hm。我从来不知道这很方便D+1使用此函数后,我仍然得到一个参考值[[Ljava.lang.String;@18987a33]为myList而不是内容值。知道怎么回事吗?你是说你得到了一个参考值吗?你是指在System.out.printlnsomething;?向我们展示相关代码。我的答案创建一个新数组,复制原始数组的字符串,并将该数组添加到列表中。
myList.add(new String[] {"string1", "string2", "foo", "bar"});
List<String[]> myList = new ArrayList<String[]>();
myList.add(new String[] {"foo", "bar"});
myList.add(Arrays.copyOf(myString, myString.length));