我对是否考虑更改此内容有疑问:
List<String> elements = new ArrayList<String>();
elements = elementDao.findElementsById(elementId);
到
List<String> elements;
elements = elementDao.findElementsById(elementId);
(我将 DAO 与 Hibernate 结合使用)
这会导致任何错误或异常(事实上我没有指定应返回哪个 List 实现)?
最佳答案
第一个创建了一个新的数组列表。创建的列表只是必须收集的垃圾。
第二个更好,但应该减少到
List<String> elements = elementDao.findElementsById(elementId);
您似乎认为可以使用赋值运算符来填充调用者创建的列表。不是这种情况。赋值运算符仅获取对 DAO 创建的列表的引用(可以是任何类型的列表),并将此引用分配给变量。
关于java - 未指定哪个列表实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7598097/