Type mismatch: cannot convert from integer zu boolean
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;
}
Wie konvertiert den integer in boolean?
- Java ist nicht wie C++.In C++ ist 0 false und die anderen ganzen zahlen wahr sind, in Java integer kann nicht verwendet werden, als boolean.
- Was ist der Zweck der integer? Es gibt keinen offensichtlichen Grund nichts anderes als Boolesche für dein Beispiel. @shift66, Dass die Funktion nicht C++ - spezifisch. Es ist eine Allgemeine Regel. Ich kann mich nicht daran erinnern eine andere Sprache neben JAVA, die nicht konvertieren von int nach bool.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es mit dieser Rückkehr
oder verwenden Sie einfach ein boolean start (mit besseren Namen):
Weiter geht es zu mystifizieren mich, warum Menschen nutzen
i
-- eine schreckliche variable name. Sieht aus wie1
und vermittelt nicht, keine Bedeutung.i
: "Es gibt nur zwei harte Dinge in Computer Science: cache invalidation and naming things" -- Phil Karltoni
.1
in meiner IDEi
kommt aus Fortran.i
kommt von "iterieren", "iterator"i
verwendet wurde, die WEISE bevor es den Begriff "iterator" war in der Mundart.return i == 1;
dann hat es nichts zu tun mit der "Definition " true" ist, da es code bezieht sich auf die Frage, die weist nur1
oder0
auf den integer-also miti > 0
machen würde, den code weniger deutlich, meiner Meinung nach. Wenn das nicht Ihr Punkt, dann bitte erklären.i = 42
,i == 1
falsch ist, währendi != 0
wahr ist. Ich dachte, die Regeln seien "Null ist false, alles andere true", aber es ist wohl nur für C++.i
ist von "integer".i
?")i
, wenn wir sagen "die Leute" sprechen wir über etwas Allgemeines, verschiedene Personen schreiben verschiedene codes mit gleichen Variablennameni
, einige von Ihnen für Ganzzahlen, und einige von Ihnen für nicht-Ganzzahlen.i
als eine variable, die schlecht sind. Es gibt gute Gründe, nicht zu verwendeni
als variable Namen und es gibt keine guten Gründe, das zu tun. Viele Menschen tun es noch. StackOverflow ist ein Ort für uns alle zu verbessern unsere Programmierkenntnisse. Dies ist ein einfacher Weg, dies zu tun-ich stark Anwalt nicht miti
. Ich habe noch zu sehen, ein guter Grund, es zu benutzen. Wenn mehr Menschen nahm meine position, wir könnten beginnen zu sehen, neue Programmierer es nicht tun, nur weil Sie sehen, andere tun es auf dieser Webseite.f
als variable fürfor
, wenn ich einfach wollen, etwas zu wiederholen, 3 malfor(f=0;f<3;f++)
denn es gibt nicht wirklich einen Sinn, was auch immer, ich Stimme zu, es ist eine schlechte Praxis. Ich denke, die meisten Menschen verwendeni
weil viele Lehrer unterrichten auf diese Weise (auchc
für chars,f
für Schwimmer, und aucharray
für arrays)Werden kann, können Sie einfach ändern Sie Ihre return-Anweisung, ohne viel ändern zu code wie folgt:
return i > 0;
.Ich weiß, dieser thread ist alt, aber wollte fügen Sie einige code, das hilft mir und vielleicht anderen helfen Suche diese...
Könnten Sie org.apache.Unterhaus.lang-api zum konvertieren von int zu boolean mit dem BooleanUtils Klasse:
"Wandelt einen int-Datentyp in einen boolean mit der Konvention, dass die null ist falsch." (Javadocs) Adobe Developer connection
Hier sind die Maven & Gradle dependencies, so stellen Sie sicher, dass Sie überprüfen, ob Sie die neueste version auf den link http://mvnrepository.com/artifact/org.apache.commons/commons-lang3
Maven-Dependency:
Gradle Abhängigkeit:
value != 0
? (Das Ergebnis ist ein boolescher Wert mit der Konvention, dass die null ist false)Konvertieren von int zu boolean:
Erklären, die ich als boolean: