Java Vergleichen Sie 2 ganze zahlen mit equals oder ==?
ich bin sehr sehr neu in Java und ich würde gerne wissen, wie Vergleiche ich 2 ganze zahlen? Ich weiß == ruft den job zu erledigen.. aber was ist gleich? Können diese vergleichen Sie 2 ganze zahlen? (wenn ich sage, Ganzzahlen, die ich meine "int" nicht "Integer").
Mein code ist:
import java.lang.*;
import java.util.Scanner;
//i read 2 integers the first_int and second_int
//Code above
if(first_int.equals(second_int)){
//do smth
}
//Other Code
aber aus irgendeinem Grund funktioniert das nicht ... ich meine, der Netbeans gibt mir eine Fehlermeldung: "int" kann nicht aufgelöst werden" Warum?
int
ist eine primitive (besonderen) Art, es ist nicht ein Objekt. Sie können==
zu vergleichen primitive- Warum also gleich vorhanden? für strings nur?
- Nein,
equals
besteht zu vergleichen, die Gleichheit von zweiObject
s (das ist, woequals
definiert ist).==
vergleicht Speicher-Adresse/Referenz-Informationen. Zwei Instanzen eines Objekts kann als gleich angesehen, da die Inhalte gleich sind, aber Ihre Speicherzugriffe nicht
Du musst angemeldet sein, um einen Kommentar abzugeben.
int
ist eine primitive. Sie können den wrapperInteger
wieoder Sie vergleichen können, die von Wert (da es sich um einen primitiven Typ) wie
JLS-4.1. Die Arten von Typen und Werte sagt (teilweise)
Wenn Sie vergleichen wollen zwischen
Als int ist primitiv können Sie nicht verwenden, ist gleich.
Was Sie tun können
Verwenden Interger als wrapper
int ist der primitive Typ.Dieses selbst, das den Wert, aber Integer ist ein Objekt und es wird mit primitiven Typ int im inneren zu halten Sie den Wert.
Sie können noch mehr tun-Operationen wie vergleichen,longValue,..mehr Über wrapper Integer.
== für Ganzzahlige
will not work the rang above -128 and 127
. Integer halten cache-Wert bis zu diesem Bereich ist nur im Speicher. Mehr als dieser Bereich, den Sie haben, zu equals () - Methode nur, um zu überprüfen, Integer-wrapper-Klasse.equals() Methode wird überprüfen Sie den Wert, gespeichert in der Referenz-Lage.