类型不匹配:无法从整数转换为布尔值

2022-09-02 14:18:16
public boolean clearSelection() {
    int i = 0;
    if (!this.m_SelectedComps.isEmpty()) {
        i = 1;
        Iterator localIterator = this.m_SelectedComps.iterator();
        while (localIterator.hasNext())
            ((AnnotComponent) localIterator.next()).remove();
        this.m_SelectedComps.clear();
    }

    return i;
}

如何将整数转换为布尔值?


答案 1

尝试使用此回车符

return i == 1;

或者只是使用布尔值开始(使用更好的名称):

 public boolean clearSelection()
  {
    boolean flag = false;
    if (!this.m_SelectedComps.isEmpty())
    {
      flag = true;
      Iterator localIterator = this.m_SelectedComps.iterator();
      while (localIterator.hasNext())
        ((AnnotComponent)localIterator.next()).remove();
      this.m_SelectedComps.clear();
    }
    return flag;
  }

它继续让我感到困惑,为什么人们使用一个可怕的变量名称。看起来像,没有传达任何意义。i1


答案 2

也许您可以修改您的 return 语句,而无需对代码进行太多更改,如下所示:

return i > 0 ? true : false ;