java - 如何使用另一个列表的项目来初始化列表?

标签 java list

我想做这样的事情:

 List queryTerms = null;

 if (tsym) {
     queryTerms = buildTreasuryQueryTerms(event, budgetLevel, null, null);
 }

 queryTerms.add(buildQueryTerms(event, session, budgetLevel));

它可以编译,但当我尝试在 tsym == null 时执行 queryTerms.add() 时,会引发空指针异常。不能用 .add() 初始化 List 吗?

忍者编辑:buildQueryTerms返回一个 protected 列表

最佳答案

在操作对象之前,您需要一个实例。在您的情况下,queryTerms 不引用任何实例(它是空引用) - 将没有您可以调用 .add() 的对象。

因此,您需要执行以下操作,假设 buildTreasuryQueryTerms() 在执行时将返回一个列表:

List queryTerms = null;

 if (tsym) {
     queryTerms = buildTreasuryQueryTerms(event, budgetLevel, null, null);
 } else {
     queryTerms = new ArrayList();
 }

关于java - 如何使用另一个列表的项目来初始化列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19636881/

相关文章:

python - Excel 列中数字更改的次数

python - 如何将列表中的单词提取到新列表中?

c# - 在没有 .ToList() 复制操作的情况下将 List<Concrete> 转换为 List<Inherited Interface>

java - Docker容器HttpUrlConnection超时异常

java - SmartGwt 和 hibernate 用于数据库连接

java - 如何获取Eclipse插件开发的JavaDoc?

python - 对 numpy 数组进行切片以选择列表中包含值的行。真值误差

python - 如何在Python列表中包含反斜杠字符?

java - 如何在 MAT Eclipse 中的 OQL 中使用 "AND operator (&&)"

java - 检查外部文件中是否存在值(java)