【问题标题】:Can't add integer to List<Integer> [closed]无法将整数添加到 List<Integer> [关闭]
【发布时间】:2015-05-01 07:43:55
【问题描述】:

下面的代码有问题。如果我使用 resultList 添加整数,它保持为空。如果我使用 preresult 添加整数,它可以工作,但在返回结果时会出错。我找不到获得这个单一结果的方法。

@SuppressWarnings("null")
@ApiMethod(name = "getDate")
public List<Integer> getDate() {

    List<Integer> preresult = new ArrayList<>();
    ArrayList<Integer> resultList = null;

    try {
        Calendar localCalendar = Calendar.getInstance(TimeZone.getDefault());
        int CurrentDayOfYear = localCalendar.get(Calendar.DAY_OF_YEAR);
        Integer intObj = new Integer(CurrentDayOfYear);
        preresult.add(intObj);


    } finally {
        mgr.close();
    }

    return preresult;
}

【问题讨论】:

  • 按原样,此代码有效并返回一个元素的列表。如果您只是将preresult.add(intObj) 更改为resultList.add(intObj),您将得到NullPointerException,因为resultList == null。我不明白“它有效,但返回结果时出错”。您能否更明确地说明哪个错误以及您期望什么?
  • @savante 你的经理在那里做什么?你为什么不使用它还关闭它? mgr.close()
  • @user3437460 对,忘记了。已删除.. 我会立即检查您的解决方案。谢谢

标签: java jpa integer


【解决方案1】:

那是因为你只为 resultList 创建了一个指向 null 的空变量。

变化:

ArrayList<Integer> resultList = null;

收件人:

ArrayList<Integer> resultList = new ArrayList<Integer>();

【讨论】:

  • 我把它留在那里是为了展示我所做的尝试。您甚至没有阅读问题,对吗?
  • 如果mgr 为空,那么应该有一个NPE...
  • @DennisW 你甚至都懒得看描述,对吧? OP 提到了If I use resultList to add integer, it stays null。使用有限的代码 sn-p,这是我可以给 OP 的建议。如果您认为我的问题有问题,您可以在下面发布您的解决方案,并且我认为在不正确查看代码和描述的情况下对某人的解决方案投反对票是不对的。
猜你喜欢
  • 2014-05-13
  • 2015-01-07
  • 2015-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多