eagle: CASTING - Typ-Konvertierung Int-Boolean funzt nicht?

Konvertierung eines Integers in einen Boolean für eine IF-Abfrage.
Das scheint nicht zu funktionieren. Was bitte, mache ich falsch?

Code:
*********************************
[...]
int ib = 1;
boolean bb;

bb = (boolean)ib;

if(bb)
  System.out.println("Hallo");
[...]
*********************************

Der Compiler schreit:
**********************************************
"SpecialCasting.java:7: inconvertible types
found   : int
required: boolean
                bb = (boolean) 1;
                               ^
1 error"
***********************************************

  1. Hallo,

    Das scheint nicht zu funktionieren.

    Richtig. Java ist ja auch kein C.
    In Java ist ein Integer ein Integer und ein Boolean ein Boolean.

    Was bitte, mache ich falsch?

    Den Cast. :-)

    Schreib es einfach so:
      bb = (ib != 0);

    Gruß
    Slyh

    --
    Es gibt 10 Arten von Menschen. Solche, die das Binärsystem verstehen, und solche, die es nicht verstehen.
    1. Hallo Slyh,

      Schreib es einfach so:
        bb = (ib != 0);

      Zwei ..., ein Gedanke! :-)

      viele Grüße

      Axel

      1. Hallo Slyh,

        Schreib es einfach so:
          bb = (ib != 0);
        Zwei ..., ein Gedanke! :-)

        viele Grüße

        Axel

        Ihr beiden: Compliment.size("large"); System.out.println("Danke vielmals. Ihr hab mich getröstet.");

  2. Hallo,

    Konvertierung eines Integers in einen Boolean für eine IF-Abfrage.
    Das scheint nicht zu funktionieren. Was bitte, mache ich falsch?
    Der Compiler schreit:
    **********************************************
    "SpecialCasting.java:7: inconvertible types
    found   : int
    required: boolean
                    bb = (boolean) 1;
                                   ^
    1 error"
    ***********************************************

    Ja, das sagt doch alles. Das Casting von int zu boolean ist nicht möglich. Wie auch? Nach welcher Regel? Wann ist der Integer-Wert true und wann ist er false? So könnte es gehen, nach der Regel: Alles was ungleich 0 ist ist true.

    int ib =1;
        boolean bb;
        bb = (ib!=0);
        if(bb) System.out.println(bb + " Hallo");

    viele Grüße

    Axel