integerとintの違いとinteger.values()メソッドの詳しい説明
免責事項: この記事はブロガーによる再投稿記事です。元のアドレスは記事の最後に記載されています。
知識ポイント1: integerとintの違い
/*
* intは、Javaが提供する8つのプリミティブデータ型の1つです。 Java はプリミティブ型ごとにラッパー クラスを提供します。Integer は Java が int に対して提供するラッパー クラスです。 int のデフォルト値は 0、
* で、Integer のデフォルト値は null
* です。つまり、Integer は未割り当ての値と値 0 の違いを区別できますが、int は未割り当ての状況を表現できません。たとえば、試験を受けないこととテストのスコアが 0 点であることの違いを表現したい場合は、整数
* のみを使用できます。 JSP 開発では、Integer のデフォルト値は null であるため、el 式を使用してテキスト ボックスに表示すると、値は空の文字列になりますが、int のデフォルト値は 0 であるため、el 式を使用すると、テキストボックスに表示
* した場合、結果は 0 となるため、Web レイヤーのフォームのデータ型として int は適していません。
* Hibernate では、OID が Integer 型として定義されている場合、Hibernate は値が null かどうかに基づいてオブジェクトが一時的であるかどうかを判断できます
* * OID が int 型として定義されている場合は、その値を設定する必要がありますhbm マッピング ファイルの unsaved-value 属性を 0 に設定します。
* さらに、Integer は、文字列を整数に変換するなど、複数の整数関連の演算メソッドを提供します。また、整数の最大値と最小値を表す定数も定義します。
*/
知識ポイント2: integer.values()メソッドの詳しい説明
23 | System.out.println(Integer.valueOf(システム。 out. println(Integer.valueOf( "128" )==Integer.valueOf( class= "java string">"128" )); System.out.println(Integer.valueOf( "127" )==Integer.valueOf( "127" ));
System.out.println(Integer.valueOf( "128" )==Integer.valueOf( "128" ));
System.out.println(Integer.parseInt( "128" )==Integer.valueOf( "128" )); System.out.println(Integer.parseInt ( "128" )==Integer.valueOf( "128 " ));
|
最初の判定では true
が返され、2 番目の判定では false
が返されるのはなぜですか? 127
および 128
私が知らない違いはありますか? (もちろん127
未満128
...)
true
而第二个判断返回了false
?127
和128
有什么我不知道的区别吗?(当然除了127
小于128
…)还有,为什么第三个判断返回了true
?
我看了另一个相关提问的回答,但是我还是不知道它们什么时候返回true还有为什么第二个判断返回false
。
回答#1:
Integer.valueOf(String)
确有一个不同寻常的行为。
valueOf
会返回一个Integer
(整型)对象,当被处理的字符串在-128
和127
(包含边界)之间时,返回的对象是预先缓存的。这就是为什么第一行的调用会返回true
-127
这个整型对象是被缓存的(所以两次valueOf
返回的是同一个对象)——第二行的调用返回false
是因为128
没有被缓存,所以每次调用,都会生成一个新的整型对象,
因此两个128
整型对象是不同的对象。
重要的是你要知道在上面的比较中,你实际进行比较的是integer.valueOf
返回的对象引用,所以当你比较缓存外的整型对象时,相等的判断不会返回true
,就算你
传个valueOf
的值是相等的也没用。(就像第二行中Integer.valueOf(128)==Integer.valueOf(128))
。想让这个判断返回true
,你需要使用equals()
方法。
parseInt()
返回的不是整型对象,而是一个int
型基础元素。这就是为什么最后一个判断会返回true
,第三行的判断中,在判断相等时,实际比较的是128 == 128
,
所以它必然是相等的。
再来说说第三种比较中的一点区别,使得它的结果与第二种比较不一样了:
一个unboxing conversion(一种比较时的转换,把对对象的引用转换为其对应的原子类型)在第三行的比较中发生了。因为比较操作符使用了==
同时等号的两边
存在一个int
型和一个Integer
对象的引用。这样的话,等号右边返回的Integer
对象被进一步转换成了int
数值,才与左边进行相等判断。
所以在转换完成后,你实际比较的是两个原子整型数值。这种转换正是你在比较两个原子类型时所期待看到的那样,所以你最终比较了128
等于128
。
回答#2:
Integer
类有一个静态缓存,存储了256个特殊的Integer
对象——每个对象分别对应`-128 和127之间的一个值。
有了这个概念,就可以知道上面三行代码之间的区别。
1 |
new Integer(123); また、3 番目の判定で true が返されるのはなぜですか>? 関連する別の質問への回答を読みましたが、いつ true が返されるのか、また、なぜ 2 番目の判定で false が返されるのかがわかりません。 答え #1:
この整数オブジェクトがキャッシュされる理由です。 そのため、2 つの 上記の比較では、実際に比較しているのは 値が等しい場合、
3 番目の比較の小さな違いについて説明します。これにより、結果が 2 番目の比較とは異なります。 3 行目の比較中に、アンボックス化変換 (オブジェクトへの参照を対応するアトミック タイプに変換する比較変換) が発生します。比較演算子は
変換が完了すると、実際には 2 つのアトミック整数値を比較することになります。この変換は、2 つのアトミック タイプを比較するときに期待されるものとまったく同じであるため、最終的には
答え 2:
新しい
|
以上がintegerとintの違いとinteger.values()メソッドの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

Nexo:それは暗号通貨交換であるだけでなく、デジタルファイナンシャルマネージャーでもあります。これにより、ユーザーは担保として暗号通貨でローンを取得することができ、関心を得るためのサービスを提供します。 Nexoは暗号通貨の購入、販売、償還機能も提供していますが、その中心的なビジネスは暗号融資です。この記事では、投資家により包括的な理解を提供するために、Nexoの運用モデルとセキュリティを詳細に調査します。 Nexoのオペレーティングモデルは2018年に設立され、スイスのZugに本社を置き、デジタルファイナンスの分野の先駆者です。これは、他の集中交換とは異なり、包括的な金融サービスの提供に重点を置いています。ユーザーは、資産を販売せずに暗号通貨を売買、取引することができます

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

イーサリアムとビットコインの違いは重要です。技術的には、BitcoinはPowを使用し、EtherはPowからPOSに移行しました。ビットコインの取引速度は遅く、イーサリアムは高速です。アプリケーションシナリオでは、Bitcoinは支払いストレージに焦点を当て、EtherはスマートコントラクトとDAPPをサポートしています。発行に関しては、ビットコインの総量は2100万人であり、エーテルコインの総額は固定されていません。各セキュリティチャレンジが利用可能です。市場価値に関しては、ビットコインが最初にランク付けされ、両方の価格の変動は大きいですが、特性が異なるため、イーサリアムの価格動向はユニークです。

C言語に組み込みの合計機能はないため、自分で書く必要があります。合計は、配列を通過して要素を蓄積することで達成できます。ループバージョン:合計は、ループとアレイの長さを使用して計算されます。ポインターバージョン:ポインターを使用してアレイ要素を指し示し、効率的な合計が自己概要ポインターを通じて達成されます。アレイバージョンを動的に割り当てます:[アレイ]を動的に割り当ててメモリを自分で管理し、メモリの漏れを防ぐために割り当てられたメモリが解放されます。

C言語では、charとwchar_tの主な違いは文字エンコードです。CharはASCIIを使用するか、ASCIIを拡張し、WCHAR_TはUnicodeを使用します。 Charは1〜2バイトを占め、WCHAR_Tは2〜4バイトを占有します。 charは英語のテキストに適しており、wchar_tは多言語テキストに適しています。 CHARは広くサポートされており、WCHAR_TはコンパイラとオペレーティングシステムがUnicodeをサポートするかどうかに依存します。 CHARの文字範囲は限られており、WCHAR_Tの文字範囲が大きく、特別な機能が算術演算に使用されます。

Bean BunとDeepseekのコアの違いは、検索の精度と複雑さです。 1. Doubaoは、シンプルで直接的なキーワードのマッチングに基づいていますが、低コストですが、精度が低く、構造化されたデータにのみ適しています。深い学習に基づいています。最終的な選択は、アプリケーションのシナリオとリソースの制限に依存します。

暗号投資の恐怖、不確実性、疑い:情報に基づいた意思決定を行う方法は?多くの暗号投資家は、「これは最後のサイクル」に対する恐怖と、強気市場の期間に関する懸念に直面しており、他の人からの圧力と相まって、それが一緒になって投資の決定につながります。この記事では、これらの課題を克服し、より賢い投資の選択をする方法を模索します。潜在的なリスク:気晴らし:盲目的にホットスポットを追いかけ、コア資産の価値を無視します。悲観主義とためらい:不確実性は、自信の欠如、長い間保持できないこと、さらには市場から退場することにつながります。信念の欠如:プロジェクトに関する詳細な研究の欠如であり、市場のボラティリティに対処できません。利益作成戦略の欠如:プルバックの恐怖、潜在的なリターンの欠落のために、ポジションを早期にクリアする。対処戦略:1。コア領域に焦点を当てる:

OUYI OKEXデジタル資産取引プラットフォームは、従来の証券市場とは異なり、ユーザーはいつでもFIAT通貨取引、通貨取引、契約取引を行うことができます。 ただし、プラットフォームは、システムメンテナンスのアップグレードや特別な市場イベント(深刻な市場の変動を引き起こす極端な市場条件など)の場合、取引の停止や契約取引の開始規則の変更など、取引時間またはルールを事前に発表し、一時的に調整します。したがって、ユーザーはプラットフォームの発表と市場動向に細心の注意を払い、取引の機会をつかみ、リスク管理において良い仕事をすることをお勧めします。 OUYI OKEXの取引時間とルールの調整を理解することによってのみ、デジタル通貨市場で簡単にすることができます。
