web-dev-qa-db-ja.com

型の不一致:整数からブールに変換できません

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;
}

整数をブールに変換する方法は?

13
user1129139

このリターンを使用してみてください

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;
  }

人々がなぜi-恐ろしい変数名を使用するのか、私は引き続き不思議に思っています。 1および意味を伝えません。

42
Hogan

以下のようにコードを大幅に変更することなく、returnステートメントを変更することができます。

return i > 0 ? true : false ;
16
Priyank Doshi

私はこのスレッドが古いことを知っていますが、私を助け、他の人がこれを検索するのを助けるかもしれないコードを追加したかった...

Org.Apache.commons.lang APIを使用して、BooleanUtilsクラスを使用してintをブール値に変換できます。

BooleanUtils.toBoolean(int value)

「ゼロが偽であるという規則を使用して、intをブール値に変換します。」 (Javadocs)


MavenとGradleの依存関係は次のとおりです。リンクで最新バージョンを使用していることを確認してください http://mvnrepository.com/artifact/org.Apache.commons/commons-lang

Mavenの依存関係:

<dependency>
    <groupId>org.Apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
</dependency>

Gradle依存関係:

'org.Apache.commons:commons-lang3:3.4'
14
tbraun

Intをブール値に変換します。

return i > 0;
4

ブール値としてiを宣言します。

public boolean clearSelection()
{
    boolean i = false;
    if (!this.m_SelectedComps.isEmpty())
    {
        i = true;
        Iterator localIterator = this.m_SelectedComps.iterator();
        while (localIterator.hasNext())
          ((AnnotComponent)localIterator.next()).remove();
        this.m_SelectedComps.clear();
    }
    return i;
}
1
MByD
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!=0);
}
1
dervel