java - 未指定哪个列表实现

标签 java list arraylist dao

我对是否考虑更改此内容有疑问:

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/

相关文章:

java - Android - junit - 单元测试 - 带时区的 SimpleDateFormat

python - lndexError : list index out of range

python - 在包含字符串和整数的列表上使用 max()

java - 如何在 doInBackground 中将获取到的数据添加到 ArrayList<Object> 中 [Android]

Java:三种可能类型的一个字段?

java - 如何通过运行应用程序在 Tomcat 上部署 Web 应用程序

java - 从字符串 : gives outofmemoryerror for StringBuilder. 的 Arraylist 追加创建最大 4mb 的大字符串

java - 如何使用混合数据类型在泛型中初始化数组

java - OnCreate方法没有被调用(Sunshine应用程序)

python - 快速获取字典列表中的键的方法