CASTING - Typ-Konvertierung Int-Boolean funzt nicht?
eagle
- java
0 Slyh0 Axel Richter0 eagle
0 Axel Richter
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"
***********************************************
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
Hallo Slyh,
Schreib es einfach so:
bb = (ib != 0);
Zwei ..., ein Gedanke! :-)
viele Grüße
Axel
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.");
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