例如,我有一个 array
的 Object
,我将在辅助方法中对其进行迭代;在辅助函数中,我将提取并处理相关/重要信息并将其添加到 ArrayList
中。
我的问题如下:
问题一
是否最好将新创建的 ArrayList
作为参数/参数传递并直接在辅助函数中更新或者是否最好在辅助函数中创建 ArrayList
然后将其返回给我的分配的主要功能?不管怎样,我的 ArrayList
已更新,但哪个是更好的做法,为什么?有哪些潜在的缺点?
选项 1
ArrayList<SomeType> newArrayList = new ArrayList<SomeType>();
Array myArray = something.getSomeArray();
saveArrayToArrayList(myArray, newArrayList);
private static void saveArrayToArrayList(Array myArray, ArrayList<SomeType> newArrayList) {
for (int j = 0; j < myArray.size(); j++) {
/* processing myArray[j] to get "SomeType newItem" */
newArrayList.add(newItem);
}
}
选项 2
Array myArray = something.getSomeArray();
ArrayList<SomeType> newArrayList = saveArrayToArrayList(myArray);
private static ArrayList<SomeType> saveArrayToArrayList(Array myArray) {
ArrayList<SomeType> newArrayList = new ArrayList<SomeType>();
for (int j = 0; j < myArray.size(); j++) {
/* processing myArray[j] to get "SomeType newItem" */
newArrayList.add(newItem);
}
return newArrayList;
}
我在谷歌搜索时一直在思考这个问题。对我来说,第二个选项似乎更明显(可能是由于我的背景),但我认为,如果 ArrayList
对您来说并不明显,高效的 Java 用户会认为您不是一个真正的 Java 用户无论如何都会更新。那么,哪个更好呢? :S 或者,这是一个愚蠢的问题吗? :S
问题二
其次,对于每个选项,应该如何命名辅助方法,以使每个阅读我的代码的人都能清楚地了解正在发生的事情? saveArrayToArrayList
对我来说听起来很糟糕,哈哈!
最佳答案
在 ArrayList 上不推荐使用上述方法。
您应该使用addAll()
。
类似这样的事情:
originalArrayList.addAll(newArrayList);
关于Java:返回 ArrayList 还是直接在方法中更新是更好的做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35858205/