【问题标题】:return null when List<Object> is empty error: [return.type.incompatible]当 List<Object> 为空时返回 null 错误:[return.type.incompatible]
【发布时间】:2021-05-22 06:29:15
【问题描述】:

我试图在 List 为空时返回 null:

public List<Object> extractOutput(List<Object> accumulator) {
  if (accumulator.isEmpty()){
    return null;
  }
  return accumulator;
}

但我收到错误:[return.type.incompatible]。 如果我能解决这个问题,我将不胜感激。

【问题讨论】:

  • 当您可以返回 emptyList() 并避免调用者进行空值检查时,返回 null 被认为是不好的做法。
  • 我想extractOutput() 方法覆盖了超类中的extractOutput() 方法,但返回类型错误。

标签: java list object arraylist collections


【解决方案1】:

返回 null 被认为是一种不好的做法。如果您的方法 extractOutput() 返回一个空列表而不是 null,那将是一个更好的解决方案

解决方案:

public List<Object> extractOutput(List<Object> accumulator) {
  if (accumulator.isEmpty()){
    return Collections.emptyList();
  }
  return accumulator;
}

希望我能帮到你,继续努力!

【讨论】:

    猜你喜欢
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 2016-10-12
    • 1970-01-01
    • 2016-09-15
    • 2011-12-19
    • 1970-01-01
    相关资源
    最近更新 更多