Java 向列表中添加字符串数组
对于add方法,如何将字符串数组添加到字符串数组列表中? 例如: 编辑:是的,我尝试过myList.addmyString,但是,只希望myString的值不通过引用传递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
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));