两者之间有什么区别(如果有):
@ModelAttribute(value = "attendanceStatuses")
public List<Code> getAttendanceStatusCodes() {
List<Code> attendanceStatuses= new ArrayList<Code>(
cacheService.getValidCodesOfCodeGroup(CODE_GROUP));
return attendanceStatuses;
}
和
@ModelAttribute(value = "attendanceStatuses")
public List<Code> getAttendanceStatusCodes() {
return cacheService.getValidCodesOfCodeGroup(CODE_GROUP);
}
cacheService方法是:
List<Code> getValidCodesOfCodeGroup(CodeGroupName codeGroupName);
最佳答案
第一个代码段返回List
返回的cacheService.getValidCodesOfCodeGroup(CODE_GROUP)
的副本:
new ArrayList<Code>(cacheService.getValidCodesOfCodeGroup(CODE_GROUP))
第二个片段不是-它仅返回
cacheService.getValidCodesOfCodeGroup(CODE_GROUP)
。这些片段中没有任何内容。
请注意,在返回
List
之前将其分配给局部变量没有区别。您可以将第一个代码段更改为:public List<Code> getAttendanceStatusCodes() {
return new ArrayList<Code>(cacheService.getValidCodesOfCodeGroup(CODE_GROUP));
}
不改变行为。