【发布时间】:2014-03-26 13:05:48
【问题描述】:
我试图做类似的事情:
ArrayList<String> getMerged ( String host, String port, String filesToCopy ){
ArrayList<String> merged = new ArrayList<String>();
merged.add(host);
merged.add(port);
merged.addAll(filesToCopy.split(",")); //which is invalid
return merged;
}
我想知道我们是否可以添加 filesToCopy.split(",") 的元素而不会产生使用循环的开销。
另外,如果上述操作可以在字符串数组中完成,比如 String[] 合并(如果需要,可以将 filesToCopy 也作为 String[] 传递),在最后,我将把这个arrayList转换成一个数组。
我是 Java 编程新手,所以请不要介意这是一个愚蠢的问题。
【问题讨论】:
-
有点困惑。
filesToCopy是一个列表,为什么需要在其中拆分字符串?除非filesToCopy是一个包含逗号分隔文件名的字符串?也许你应该研究方法的可变参数参数...... -
我也不确定你想用
split做什么。filesToCopy是一个 ArrayList 那么假设它应该完成什么?向我们展示您使用您不想使用的循环尝试做什么。 -
@DanTemple & Radiodef - 对不起,这是一个错字; filesToCopy 是一个字符串。 “(如果需要,也可以将 filesToCopy 作为 String[] 传递)” - 因为我可以将来自调用者的 arg 作为 filesToCopy.split(",") 传递。
-
好吧,关于你现在如何拥有代码(提供
filesToCopy作为字符串),你可以将Arrays.asList(filesToCopy.split(",");放入addAll()方法中,它应该可以正常工作。 -
@Vnm 我不确定你想做什么。你检查过我的答案吗。如果我的方法都没有用,请更新状态...
标签: java arraylist arrays array-merge