


La différence entre entier et int et l'explication détaillée de la méthode integer.values()
Déclaration : Cet article est un article réimprimé du blogueur. L'adresse originale se trouve à la fin de l'article.
Point de connaissance 1 : La différence entre entier et int
/*
* int sont les 8 types primitifs fournis par java Un des types de données. Java fournit des classes wrapper pour chaque type primitif. Integer est la classe wrapper fournie par Java pour int. La valeur par défaut de int est 0,
* et la valeur par défaut de Integer est null
* , c'est-à-dire que Integer peut distinguer la différence entre la valeur non attribuée et la valeur 0, int Il est impossible d'exprimer la situation non attribuée. Par exemple, si vous souhaitez exprimer la différence entre ne pas passer l'examen et la note de l'examen étant de 0
*, vous ne pouvez utiliser qu'Integer<.>
*. Dans le développement JSP, la valeur par défaut de Integer est null, donc lorsque l'expression el est utilisée pour l'afficher dans la zone de texte, la valeur est une chaîne vide et la valeur par défaut de int est 0, donc lorsque l'expression el est utilisée pour l'afficher dans la zone de texte
* , le résultat est 0, donc int ne convient pas comme type de données de formulaire de la couche Web.
* Dans Hibernate, si l'OID est défini comme type Integer, alors Hibernate peut déterminer si un objet est temporaire en fonction du fait que sa valeur est nulle
* , si le OID est défini comme type int, vous devez également définir son attribut de valeur non enregistrée sur 0 dans le fichier de mappage hbm.
* De plus, Integer fournit plusieurs méthodes de fonctionnement liées aux entiers, telles que la conversion d'une chaîne en entier et définit également des constantes qui représentent les valeurs maximales et minimales des entiers.
*/
Point de connaissance 2 : Explication détaillée de la méthode integer.values()
Pourquoi le premier jugement revient true
et le deuxième jugement revient false
? Y a-t-il une différence entre 127
et 128
que je ne connais pas ? (Bien sûr, sauf que 127
est inférieur à 128
...)
Aussi, pourquoi le troisième jugement revient-il true
?
J'ai lu les réponses à une autre question connexe, mais je ne sais toujours pas quand elles reviennent vraies et pourquoi le deuxième jugement revient false
.
Réponse n°1 :
Integer.valueOf(String)
a un comportement inhabituel.
valueOf
renverra un objet Integer
(entier) Lorsque la chaîne en cours de traitement est comprise entre -128
et 127
(limites comprises), l'objet renvoyé est pré-mis en cache. C'est pourquoi l'appel dans la première ligne renvoie true
-127
Cet objet entier est mis en cache (donc le même objet est renvoyé deux fois par valueOf
) - la deuxième ligne L'appel renvoie <.> car false
n'est pas mis en cache, donc chaque appel générera un nouvel objet entier, 128
objets entiers sont des objets différents. 128
Il est important de savoir que dans la comparaison ci-dessus, ce que vous comparez réellement est la référence d'objet renvoyée par , donc lorsque vous comparez l'objet entier en dehors du cache, l'égalité le jugement ne reviendra pas integer.valueOf
, même si vous réussissez true
est égale, cela ne servira à rien. (Tout comme valueOf
dans la deuxième ligne. Si vous voulez que ce jugement renvoie Integer.valueOf(128)==Integer.valueOf(128))
, vous devez utiliser la méthode true
. equals()
ne renvoie pas un objet entier, mais un parseInt()
Tapez l'élément de base. C'est pourquoi le dernier jugement renvoie int
Dans la troisième ligne du jugement, lorsque l'on juge l'égalité, la comparaison réelle est true
, 128 == 128
Parlons d'une petite différence dans la troisième comparaison, qui rend son résultat différent de la deuxième comparaison :
Une conversion unboxing (une conversion lors de la comparaison, qui convertit l'objet en référence à son atome correspondant type) apparaît dans la comparaison sur la troisième ligne car l'opérateur de comparaison utilise
et il y a un type et un ==
des deux côtés du signe égal >Référence d'objet. > l'objet renvoyé sur le côté droit du signe égal est ensuite converti en une valeur
int
sur le côté gauche. Ainsi, une fois la conversion terminée, vous comparez en fait deux atomes. valeurs entières. Cette conversion est exactement ce à quoi vous vous attendez lorsque vous comparez deux types atomiques, vous finissez donc par comparer Integer
est égal à Integer
int
Réponse n°2 : Le 128
128
. La classe
a un cache statique qui stocke 256 objets
spéciaux - chacun correspondant à `-128 et 127 Une valeur entreAvec ce concept, vous pouvez connaître la différence entre les trois lignes ci-dessus. code.
1 | nouvel 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>
|
L'expression ci-dessus renvoie false
car aucun tampon statique n'existe pour 128
. Ainsi, chaque fois que l'égalité est déterminée, de nouveaux Integer
objets seront créés des deux côtés de l'équation. Puisque les deux Integer
objets sont différents, ==
ne reviendra
true
représentent le même objet. Par conséquent, l’équation ci-dessus renvoie false
.
1
| Integer.parseInt( "128" )==Integer .valueOf( "128" );
| tr>
int
128
L'expression ci-dessus compare la Integer
valeur int
d'origine à gauche avec l'objet Integer
nouvellement créé à droite. Mais comme la comparaison entre
n'a aucun sens, Java déballera automatiquement Integerint
int
avant la comparaison, donc le résultat final est la valeur de la comparaison 128
et true
entre. Puisque
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Deepseek: Une comparaison approfondie entre les versions R1 et V3 vous aide à choisir le meilleur assistant d'IA! Deepseek compte déjà des dizaines de millions d'utilisateurs et sa fonction de dialogue AI a été bien accueillie. Mais êtes-vous confus lorsque vous faites face aux versions R1 et V3? Cet article expliquera les différences entre les deux en détail pour vous aider à choisir la version la plus appropriée. La différence de base entre DeepseEkr1 et V3 version: dispose de l'objectif de conception de la version V3 se concentre sur le raisonnement de problèmes complexe, l'analyse logique profonde, le modèle multifonctionnel de grande langue, en se concentrant sur l'évolutivité et l'architecture d'efficacité et l'architecture d'optimisation d'apprentissage du renforcement des paramètres, l'échelle de paramètre 1.5 Des milliards à 70 milliards d'architecture d'experts hybrides MOE, les paramètres totaux sont élevés que 671 milliards, chaque jeton est activé de 37 milliards

Deepseekai Tool User Guide et FAQ Deepseek est un puissant outil intelligent AI. FAQ: La différence entre les différentes méthodes d'accès: il n'y a pas de différence de fonction entre la version Web, la version de l'application et les appels API, et l'application n'est qu'un wrapper pour la version Web. Le déploiement local utilise un modèle de distillation, qui est légèrement inférieur à la version complète de Deepseek-R1, mais le modèle 32 bits a théoriquement une capacité de version complète de 90%. Qu'est-ce qu'une taverne? SillyTavern est une interface frontale qui nécessite d'appeler le modèle AI via l'API ou le olllama. Qu'est-ce que la limite de rupture

Le marché des crypto-monnaies est en plein essor et Bitcoin, en tant que leader, a attiré l'attention de nombreux investisseurs. Beaucoup de gens sont curieux: Bitcoin a-t-il des actions? La réponse est non. Le Bitcoin lui-même n'est pas un stock, mais les investisseurs peuvent indirectement investir dans des actifs liés à Bitcoin via divers canaux, qui seront expliqués en détail dans cet article. Alternatives à l'investissement de Bitcoin: Au lieu d'investir directement dans Bitcoin, les investisseurs peuvent participer au marché Bitcoin par: Bitcoin ETF: Il s'agit d'un fonds négocié sur le marché des échanges d'actions, dont le portefeuille d'actifs contient des contrats à terme Bitcoin ou Bitcoin. Il s'agit d'une option relativement pratique pour les investisseurs habitués aux investissements en actions, sans avoir à tenir directement le bitcoin. Bitcoin Mining Company Stocks: Les activités de ces sociétés sont l'extraction de Bitcoin et tient le bitcoin

Dans les marchés financiers traditionnels, le commerce pré-commercial et après-vente fait référence aux activités de négociation en dehors de la période de négociation régulière. Bien que le marché des crypto-monnaies se négocie 24 heures sur 24, les plates-formes de trading comme Bitget offrent également des fonctionnalités similaires, en particulier certaines plateformes complètes qui échangent des actions et des crypto-monnaies en même temps. Cet article clarifiera les différences dans le trading pré-commercial et après-vente et explorera son impact sur le prix de la devise. Quatre différences majeures entre les échanges pré-commerciaux et après le marché: les principales différences entre les périodes de négociation pré-commercialisation et après le marché sont en quatre aspects: le temps de négociation, la liquidité, les fluctuations des prix et le volume de trading: le temps de négociation: les échanges pré-marché se produisent avant les débuts officiels de négociation, et le commerce après le marché est entraîné après les extrémités régulières. Liquidité: La liquidité du trading pré et après les heures

Titre original: Bittensor = Aibitcoin? Bittensor adopte un modèle de sous-réseau qui permet l'émergence de différentes solutions d'IA et inspire l'innovation à travers les jetons Tao. Bien que le marché de l'IA soit mûr, Bittensor fait face à des risques concurrentiels et peut être soumis à d'autres open source

Le boom des investissements Bitcoin continue de se réchauffer. Bien que la Chine soit autrefois le plus grand marché du Bitcoin, les impacts politiques ont conduit à des restrictions de transaction. Aujourd'hui, la Corée du Sud est devenue l'un des principaux marchés du Bitcoin au monde, obligeant les investisseurs à remettre en question les différences entre elle et son bitcoin national. Cet article effectuera une analyse approfondie des différences entre les marchés du Bitcoin des deux pays. L'analyse des différences entre les marchés de la Corée du Sud et la Chine. Par exemple, fin octobre 2024, le prix du bitcoin en Corée du Sud était autrefois

Après la vague de Pepe, Mutm peut-il devenir un choix d'investissement plus stable en 2025? Pepe (Pepe) a rendu les investisseurs précoces rentables, mais ses fluctuations violentes des prix ont également fait remettre en question ses perspectives à long terme. Alors que le marché des devises mèmes continue de turbulencement, les traders commencent à se concentrer sur des projets avec des avantages plus fondamentaux, et la mutuumfinance (Mutm) en fait partie. Il s'agit d'une plate-forme de prêt décentralisée axée sur les applications financières pratiques. Contrairement à Pepe, qui s'appuie sur la spéculation spéculative, MUTM construit un écosystème de défi structuré où les utilisateurs peuvent emprunter et gagner un revenu passif. Sa pré-vente a dépassé un million de dollars américains, la première phase du taux de vente de jetons dépasse 97%, investissement précoce

Les agents de l'intelligence artificielle (AIAGENTS) s'intégrent rapidement dans les opérations quotidiennes des entreprises, des grandes entreprises aux petites entreprises, presque tous les domaines ont commencé à être utilisés, notamment les ventes, le marketing, la finance, le droit, l'informatique, la gestion de projet, la logistique, le service client et l'automatisation du flux de travail. Nous passons d'une ère de traitement manuel des données, effectuons des tâches répétitives et en utilisant des tables Excel à une ère d'opération autonome par les agents d'IA 24h / 24, ce qui améliore non seulement l'efficacité mais réduit également considérablement les coûts. Cas d'application des agents d'IA dans web2: la perspective de Ycombinator apten: un outil d'optimisation des ventes et marketing combinant la technologie AI et SMS. Bildai: un modèle qui peut lire les plans architecturaux,
