


Der Unterschied zwischen Integer und Int und die detaillierte Erklärung der Methode integer.values()
Erklärung: Bei diesem Artikel handelt es sich um einen Nachdruck des Bloggers. Die Originaladresse finden Sie am Ende des Artikels.
Wissenspunkt 1: Der Unterschied zwischen Ganzzahl und int
/*
* int sind die 8 bereitgestellten primitiven Typen von Java Einer der Datentypen. Java stellt Wrapper-Klassen für jeden primitiven Typ bereit. Integer ist die von Java bereitgestellte Wrapper-Klasse für int. Der Standardwert von int ist 0,
* und der Standardwert von Integer ist null
* Das heißt, Integer kann den Unterschied zwischen nicht zugewiesenem Wert und Wert unterscheiden 0, int Es ist unmöglich, die nicht zugewiesene Situation auszudrücken. Wenn Sie beispielsweise den Unterschied zwischen der Nichtteilnahme an der Prüfung und dem Prüfungsergebnis von 0
* ausdrücken möchten, können Sie nur Integer
*. In der JSP-Entwicklung ist der Standardwert von Integer null. Wenn also der EL-Ausdruck zur Anzeige im Textfeld verwendet wird, ist der Wert eine leere Zeichenfolge, und der Standardwert von int ist 0, wenn also der EL-Ausdruck verwendet wird Um es im Textfeld
* anzuzeigen, ist das Ergebnis 0, sodass int nicht als Formulardatentyp der Webebene geeignet ist.
* Wenn OID im Ruhezustand als Integer-Typ definiert ist, kann Hibernate basierend darauf bestimmen, ob ein Objekt temporär ist, ob sein Wert null ist
* , wenn das Da OID als int-Typ definiert ist, müssen Sie in der HBM-Zuordnungsdatei auch das Attribut „Nicht gespeicherter Wert“ auf 0 setzen.
* Darüber hinaus bietet Integer mehrere ganzzahlbezogene Operationsmethoden, z. B. die Konvertierung einer Zeichenfolge in eine Ganzzahl, und definiert auch Konstanten, die den Maximal- und Minimalwert von Ganzzahlen darstellen.
*/
Wissenspunkt 2: Detaillierte Erklärung der Methode integer.values()
Warum kommt das erste Urteil zurück true
und das zweite Urteil kehrt zurück false
? Gibt es einen Unterschied zwischen 127
und 128
, den ich nicht kenne? (Natürlich, außer dass 127
kleiner ist als 128
...)
Außerdem: Warum gibt das dritte Urteil ? true
Ich habe die Antworten auf eine andere verwandte Frage gelesen, weiß aber immer noch nicht, wann sie wahr sind und warum das zweite Urteil zutrifft
. false
Antwort Nr. 1:
zeigt ein ungewöhnliches Verhalten. Integer.valueOf(String)
gibt ein valueOf
(Ganzzahl)-Objekt zurück. Wenn die verarbeitete Zeichenfolge zwischen Integer
und -128
(einschließlich Grenzen) liegt, wird das zurückgegebene Objekt vorab zwischengespeichert. Aus diesem Grund gibt der Aufruf in der ersten Zeile 127
-true
127
zurückgegeben) – der Aufruf in der zweiten Zeile gibt Da valueOf
nicht zwischengespeichert ist, generiert jeder Aufruf ein neues Ganzzahlobjekt false
128
, sodass die beiden Ganzzahlobjekte
128
zu wissen, dass Sie im obigen Vergleich tatsächlich die von zurückgegebene Objektreferenz vergleichen. Wenn Sie also das ganzzahlige Objekt außerhalb des Caches vergleichen, ist Gleichheit Das Urteil wird nicht zurückgegeben , selbst wenn Sie integer.valueOf
true
bestehen und der Wert von
in der zweiten Zeile. Wenn Sie möchten, dass dieses Urteil valueOf
zurückgibt, müssen Sie die Methode Integer.valueOf(128)==Integer.valueOf(128))
verwenden. true
equals()
, parseInt()
int
, also muss es gleich sein >true
Sprechen wir über einen kleinen Unterschied im dritten Vergleich, der sein Ergebnis vom zweiten Vergleich unterscheidet: 128 == 128
verwendet und auf beiden Seiten des Gleichheitszeichens ein
vorhanden ist Das auf der rechten Seite des Gleichheitszeichens zurückgegebene Objekt wird weiter in einen-Wert umgewandelt, bevor es dem
-Wert auf der linken Seite entspricht. Nach Abschluss der Konvertierung werden also tatsächlich zwei atomare Werte verglichen Ganzzahlige Werte. Diese Konvertierung entspricht genau dem, was Sie beim Vergleich zweier Atomtypen erwarten würden, sodass Sie am Ende ==
int
Die Integer
Integer
-Klasse verfügt über einen statischen Cache, der 256 spezielle int
-Objekte speichert – jedes entspricht einem Wert zwischen `-128 und 127
128
1 128
| new Integer(123);
|
显示创建了一个新的Integer
对象。
1
|
Integer.parseInt( "123" );
|
int
1 |
Integer.valueOf( "123" );
|
1 |
Integer.valueOf( "123" code>
|
127
这种情况比其他的要更复杂一些.首先进行了字符串解析,然后如果解析的值位于Integer()
和
1 |
Integer.valueOf( "127" )==Integer.valueOf( "127" );
|
1 true
|
Integer.valueOf( "127" )==Integer.valueOf(
|
1 |
Integer.valueOf( "128" )==Integer.valueOf( "128" );
|
1 |
Integer.valueOf( "128" )==Integer.valueOf( "128" ); code>
|
Der obige Ausdruck gibt false
zurück, da für 128
kein statischer Puffer vorhanden ist. Jedes Mal, wenn Gleichheit festgestellt wird, werden auf beiden Seiten der Gleichung neue Integer
-Objekte erstellt. Da die beiden Integer
-Objekte unterschiedlich sind, gibt ==
nur
true
dasselbe Objekt darstellen. Daher gibt die obige Gleichung false
zurück.
1
| Integer.parseInt( "128" )==Integer .valueOf( "128" );
| tr>
int
128
Der obige Ausdruck vergleicht den ursprünglichen Integer
-Wert int
auf der linken Seite mit dem neu erstellten Integer
-Objekt auf der rechten Seite. Da der Vergleich zwischen
jedoch bedeutungslos ist, entpackt Java automatisch Integerint
int
vor dem Vergleich, sodass das Endergebnis der Wert des Vergleichs zwischen 128
und true
ist. Da
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Integer und Int und die detaillierte Erklärung der Methode integer.values(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

In der C -Sprache ist der Hauptunterschied zwischen char und wchar_t die Zeichencodierung: char verwendet ASCII oder erweitert ASCII, wchar_t Unicode; char nimmt 1-2 Bytes auf, wchar_t nimmt 2-4 Bytes auf; char ist für englischen Text geeignet. Wchar_t ist für mehrsprachige Text geeignet. char ist weithin unterstützt, wchar_t hängt davon ab, ob der Compiler und das Betriebssystem Unicode unterstützen. char ist in der Charakterbereich begrenzt, WCHAR_T hat einen größeren Charakterbereich und spezielle Funktionen werden für arithmetische Operationen verwendet.

Der Unterschied zwischen Ethereum und Bitcoin ist signifikant. Technisch gesehen verwendet Bitcoin POW, und Ether hat sich von POW nach POS verlagert. Die Handelsgeschwindigkeit ist für Bitcoin langsam und Ethereum ist schnell. In Anwendungsszenarien konzentriert sich Bitcoin auf den Zahlungsspeicher, während Ether intelligente Verträge und DApps unterstützt. In Bezug auf die Ausgabe beträgt der Gesamtbetrag von Bitcoin 21 Millionen und es gibt keine feste Gesamtmenge an Ethermünzen. Jede Sicherheitsherausforderung ist verfügbar. In Bezug auf den Marktwert ist Bitcoin an erster Stelle, und die Preisschwankungen beider sind groß, aber aufgrund unterschiedlicher Merkmale ist der Preistrend von Ethereum einzigartig.

Der kollaborative Arbeitsmechanismus zwischen Apache oder Nginx und PHP: Vergleich von Mod_Php5, PHP-CGI und PHP-FPM besteht darin, Apache oder Nginx zu verwenden, um einen Webserver zu erstellen und PHP für Backend zu verwenden ...

Eine Anwendung, die XML direkt in PDF konvertiert, kann nicht gefunden werden, da es sich um zwei grundlegend unterschiedliche Formate handelt. XML wird zum Speichern von Daten verwendet, während PDF zur Anzeige von Dokumenten verwendet wird. Um die Transformation abzuschließen, können Sie Programmiersprachen und Bibliotheken wie Python und ReportLab verwenden, um XML -Daten zu analysieren und PDF -Dokumente zu generieren.

C -Sprachfunktionen sind die Grundlage für die Code -Modularisierung und das Programmaufbau. Sie bestehen aus Deklarationen (Funktionsüberschriften) und Definitionen (Funktionskörper). C Sprache verwendet standardmäßig Werte, um Parameter zu übergeben, aber externe Variablen können auch mit dem Adresspass geändert werden. Funktionen können oder haben keinen Rückgabewert, und der Rückgabewerttyp muss mit der Deklaration übereinstimmen. Die Benennung von Funktionen sollte klar und leicht zu verstehen sein und mit Kamel oder Unterstrich die Nomenklatur. Befolgen Sie das Prinzip der einzelnen Verantwortung und behalten Sie die Funktion ein, um die Wartbarkeit und die Lesbarkeit zu verbessern.

Zwei Möglichkeiten, Strukturen in der GO -Sprache zu definieren: Der Unterschied zwischen VAR- und Typ -Schlüsselwörtern. Bei der Definition von Strukturen sieht die Sprache oft zwei verschiedene Schreibweisen: Erstens ...
