ホームページ Java &#&チュートリアル Java チュートリアル - Int と Integer の違い

Java チュートリアル - Int と Integer の違い

Dec 02, 2016 pm 04:22 PM
java

まず、int と Integer の違いについて話しましょう:

int は基本的なデータ型で、Integer は int のラッパー クラスです。注: 後者のタイプは「クラス」です。たとえば、ジェネリックを使用すると、List numList;

int の初期値は 0 になり、integer は null になります。

以下の具体的な例を見てください:

package syswar.cc;

public class IntegerCompare {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Integer a1 = 2;
        Integer a2 = 2;

        Integer b1 = 150;
        Integer b2 = 150;

        Integer c1 = new Integer(2);
        Integer c2 = new Integer(2);

        Integer d1 = new Integer(150);
        Integer d2 = new Integer(150);

        System.out.println("a1==a2?" + (a1==a2));
        System.out.println("b1==b2?" + (b1==b2));
        System.out.println("c1==c2?" + (c1==c2));
        System.out.println("d1==d2?" + (d1==d2));
    }

}

実行結果:

a1==a2?true
b1==b2?false
c1==c2?false
d1==d2?false>

この結果はなぜですか?まず、2 つのグループ a と b を比較してみましょう。 Integer が初期化されると、これらの Integer オブジェクトに対応する int 値は [-128,127] のバイト範囲内にキャッシュされます。

int 値を Integer に直接割り当てる場合、値の範囲が [-128,127] の場合、Integer はキャッシュから Integer オブジェクトを直接取得します。したがって、直接割り当てられた int 値が [-128,127] にある場合、Integer オブジェクトは次のようになります。同じオブジェクトです。

newメソッドで取得したIntegerオブジェクトはヒープから直接割り当てられたオブジェクトであるため、具体的なint値が何であっても==判定の結果は偽となります


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

AIを活用した投資調査により賢明な意思決定を実現

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ホットトピック

JavaのClassPathにJARファイルを追加する方法は? JavaのClassPathにJARファイルを追加する方法は? Sep 21, 2025 am 05:09 AM

-CPパラメーターを使用してJARをClassPathに追加して、JVMがjava-cplibrary.jarcom.example.mainなどの内部クラスとリソースをロードできるようにします。

Javaでファイルを作成する方法 Javaでファイルを作成する方法 Sep 21, 2025 am 03:54 AM

usefile.createNewfile()tocreatefileonlyifitdoes notexist、avolididingoverwriting;

なぜリアルタイムシステムが決定論的応答を保証する必要があるのですか? なぜリアルタイムシステムが決定論的応答を保証する必要があるのですか? Sep 22, 2025 pm 04:03 PM

リアルタイムシステムには、正確性が結果配信時間に依存するため、決定論的応答が必要です。ハードリアルタイムシステムには厳格な締め切りが必要であり、逃したことは災害につながりますが、ソフトリアルタイムは時折遅延を可能にします。スケジューリング、割り込み、キャッシュ、メモリ管理などの非決定的要因はタイミングに影響します。建設計画には、RTOの選択、WCET分析、リソース管理、ハードウェアの最適化、厳密なテストが含まれます。

UC Browser_uc Browserの強制スケーリングWebページでWebページを強制する方法UCブラウザーによるスケーリングWebページ UC Browser_uc Browserの強制スケーリングWebページでWebページを強制する方法UCブラウザーによるスケーリングWebページ Sep 24, 2025 pm 04:54 PM

まず、UCブラウザの組み込みスケーリング関数を有効にし、設定→[設定]→[フォントと版画]またはページスケーリングを参照し、プリセット比またはカスタムパーセンテージを選択します。第二に、2本の指でジェスチャーを開いたりピンチしたりすることにより、ページディスプレイサイズを強制することができます。スケーリングを制限するWebページの場合、Webサイトのデスクトップバージョンに制限のロックを解除することを要求できます。上級ユーザーは、アドレスバーでJavaScriptコードを実行して、より柔軟な強制スケーリング効果を実現することにより、ViewPort属性を変更することもできます。

Javaで呼び出しメソッドの名前を取得する方法は? Javaで呼び出しメソッドの名前を取得する方法は? Sep 24, 2025 am 06:41 AM

答えは、thread.currentthread()。getStackTrace()を使用してコールメソッド名を取得し、インデックス2から別のコールのソモメトッド名を取得することです。インデックス0はgetStackTraceであるため、1は現在のメソッドであり、2は発信者であり、2は例です。 インパクト。

Microsoft Edge High CPU使用 Microsoft Edge High CPU使用 Sep 24, 2025 am 12:17 AM

Edgeは、Chromium Kernelに基づいたリソースの消費量が多いため、マルチタブページ、プラグインランニング、Webサイトスクリプト、レンダリングメカニズムなどの要因のために、高いCPUを占有します。ソリューションには以下が含まれます。1。バックグラウンドの負担を軽減するための不要な拡張機能を閉じます。 2.「スリープタグ」関数を有効にして、アイドルタグリソースの使用を削減します。 3.バックグラウンドプロセスをクリーンアップし、関連する設定をレンダリングするGPUを閉じます。 4.ブラウザとシステムを更新して、互換性とパフォーマンスの最適化を確保します。

Javaのnullpointerexceptionを避けるためにオプションのクラスを使用する方法は? Javaのnullpointerexceptionを避けるためにオプションのクラスを使用する方法は? Sep 25, 2025 am 06:04 AM

オプションのクラスは、nullポインターの例外を避けるために、nullの値を安全に処理するために使用されます。 1. null値を処理するためにoptional.ofnullableを使用してインスタンスを作成します。 2。例外を引き起こすための直接の呼び出しを避けるために、ISPResentまたはIfpresentセキュリティを介して値を確認してアクセスします。 3. orelseとorelsegetを使用してデフォルト値を提供するか、Orelsethrowを使用してカスタム例外をスローします。 4.マップおよびフィルターチェーンの操作を介して値を変換またはフィルタリングして、コードの読みやすさと堅牢性を向上させます。

Javaの例外をどのように処理しますか? Javaの例外をどのように処理しますか? Sep 23, 2025 am 04:44 AM

Java例外処理トライキャッチブロックを介して例外をキャッチし、最後にブロックはリソースのクリーンアップを保証し、リソースでリソースを自動的に管理し、宣言の例外をスローし、特定の例外を扱うカスタム例外をスローし、例外を無視するのではなく、空の漁獲ブロックを避けるなどのベストプラクティスに従います。

See all articles