哪种做法是好的做法 - 修改方法中的 List,还是在方法中返回新的 List?
示例代码:
modifyMyList(myList);
public void modifyMyList(List someList){
someList.add(someObject);
}
艺术
List myList = modifyMyList(myList);
public List modifyMyList(List someList){
someList.add(someObject)
return someList;
}
我相信还有第三个选项:您可以在modifiedMyList方法中创建一个新的List并返回这个新的List...
( 第三个选项在这里,我太懒了,但有人已经在答案中添加了它:)
List myList = modifyMyList(myList);
public List modifyMyList(List someList){
List returnList = new ArrayList();
returnList.addAll(someList);
returnList.add(someObject);
return Collections.unmodifiableList(returnList);
}
我有什么理由应该选择一个而不是另一个吗?在这种情况下应该考虑什么?