Rumah Java Javabermula java中int与integer的区别

java中int与integer的区别

Nov 30, 2019 pm 05:24 PM
int integer java perbezaannya

java中int与integer的区别

一、java基本数据类型及其封装类

412cf2be6cceb49aedd91e7f42640ef.png

java数据类型有基本数据类型和引用数据类型,为了方便将基本数据类型当作对象处理,java引入了基本数据类型相对应的封装类,如int封装类是Integer。

在线教学视频分享:java教学视频

二、java自动拆箱和自动装箱

1、自动装箱

自动装箱其实就是将基本数据类型转换为引用数据类型(对象)

2、自动拆箱

自动拆箱其实就是将引用数据类型转化为基本数据类型

代码如下:

    public static void main(String[] args) {
        Integer a = 1;//这里就用到了自动装箱;等同于Integer a = new Integer(1);

        int b = a - 1;//对象不能直接进行计算,所以这里有自动拆箱的操作,将a对象转换成基本数据类型,然后-1
        System.out.println(a);
        System.out.println(b);
    }
Salin selepas log masuk

打印结果:

1
0
Salin selepas log masuk

三、int和Interger的区别

从上面我们就能看出int和Interger的区别:

int是基本数据类型,Integer是引用数据类型;

int默认值是0,Integer默认值是null;

int类型直接存储数值,Integer需要实例化对象,指向对象的地址。

说到这,是不是认为就这么完事了,其实它们之间还有一些细节方面的区别:如下

    public static void main(String[] args) {
        Integer a = new Integer(1);
        Integer b = new Integer(1);

        int c = 1;
        int d = 1;

        Integer e = 1;
        Integer f = 1;
        
        Integer g = 130;
        Integer h = 130;
        
        Integer i = new Integer(130);
        int j = 130;
    }
Salin selepas log masuk

1:a == b 吗? 废话,肯定不相等。两个new出来的对象地址不一样。

2:c == d 吗? 这个也是废话,都是基本数据类型的值肯定相等。

3:现在的关键问题是 e == f 吗? g == h 吗?

答案是:e == f; g != h。

为什么会出现这种情况?因为ava在进行编译时 Integer g = 130会被编译成 Integer.valueOf(130) ,这个可以通过反编译class文件看到。而通过Integer源码可以得出,Integer.valueOf() 方法会在数值-128~127之间会对Integer进行缓存,不会再重新new一个,所以 e==f ;当数值二大于127或者小于-128的时候则会重新new一个,所以g != h 。

Integer的valueOf方法如下:

    public static Integer valueOf(int i) {
         //IntegerCache.low == -128  ;IntegerCache.high == 127
         //当数值大于-128小于127时,进行缓存;否则重新new一个。
        if (i >= IntegerCache.low && i <= IntegerCache.high)
            return IntegerCache.cache[i + (-IntegerCache.low)];
        return new Integer(i);
    }
Salin selepas log masuk

4:c == e 吗, i == j 吗?

答案都是相等的。因为封装类和基本数据类型进行比较的时候,java会自动拆箱,然后比较数值是否相等。

总结:

1、都是封装类,都是new出来的,肯定不相等。因为对象的内存地址不一样。

2、都是封装类,都不是new出来的,如果值在-128~127之间,那就相等,否则不相等。

3、如果是封装类和基本类型进行比较,只要数值相等那就相等,否则就不相等。因为封装类和基本数据类型进行比较的时候会有一个自动拆箱操作。

4、都是基本数据类型,如果数值相等,那就相等;否则不相等。

想了解更多相关教程请访问:java入门

Atas ialah kandungan terperinci java中int与integer的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

DeepSeek Apakah perbezaan antara versi R1 dan V3 DeepSeek Apakah perbezaan antara versi R1 dan V3 Feb 19, 2025 pm 03:24 PM

DeepSeek: Perbandingan mendalam antara versi R1 dan V3 membantu anda memilih pembantu AI terbaik! DeepSeek sudah mempunyai puluhan juta pengguna, dan fungsi dialog AI telah diterima dengan baik. Tetapi adakah anda keliru ketika menghadapi versi R1 dan V3? Artikel ini akan menjelaskan perbezaan antara kedua -dua terperinci untuk membantu anda memilih versi yang paling sesuai. Perbezaan teras antara versi DeepSeekR1 dan V3: Ciri-ciri matlamat reka bentuk versi V3 memberi tumpuan kepada penalaran masalah yang kompleks, analisis logik yang mendalam, model bahasa besar pelbagai fungsi, yang memberi tumpuan kepada skalabilitas dan kecekapan seni bina dan parameter pengoptimuman pembelajaran pengoptimuman, skala parameter 1.5 Bilion hingga 70 bilion seni bina pakar hibrid MOE, jumlah parameter adalah setinggi 671 bilion, setiap token diaktifkan sebanyak 37 bilion

Ringkasan Soalan Lazim untuk Penggunaan DeepSeek Ringkasan Soalan Lazim untuk Penggunaan DeepSeek Feb 19, 2025 pm 03:45 PM

Panduan Pengguna Alat DeepSeekai dan FAQ DeepSeek adalah alat pintar AI yang kuat. FAQ: Perbezaan antara kaedah akses yang berbeza: Tidak ada perbezaan fungsi antara versi web, versi aplikasi dan panggilan API, dan aplikasi hanya pembungkus untuk versi web. Penggunaan tempatan menggunakan model penyulingan, yang sedikit lebih rendah daripada versi penuh DeepSeek-R1, tetapi model 32-bit secara teorinya mempunyai keupayaan versi penuh 90%. Apa itu bar? Sillytavern adalah antara muka depan yang memerlukan memanggil model AI melalui API atau Ollama. Apa itu Had Breaking

Adakah bitcoin mempunyai stok? Adakah bitcoin mempunyai stok? Mar 03, 2025 pm 06:42 PM

Pasaran cryptocurrency berkembang pesat, dan Bitcoin, sebagai pemimpin, telah menarik perhatian banyak pelabur. Ramai orang yang ingin tahu: adakah bitcoin mempunyai stok? Jawapannya tidak. Bitcoin sendiri bukan stok, tetapi pelabur secara tidak langsung boleh melabur dalam aset yang berkaitan dengan bitcoin melalui pelbagai saluran, yang akan dijelaskan secara terperinci dalam artikel ini. Alternatif untuk Bitcoin Investment: Daripada melabur secara langsung di Bitcoin, pelabur boleh mengambil bahagian dalam pasaran Bitcoin oleh: Bitcoin ETF: Ini adalah dana yang didagangkan di pasaran perdagangan saham, yang portfolio asetnya mengandungi kontrak niaga hadapan Bitcoin atau Bitcoin. Ini adalah pilihan yang agak mudah untuk pelabur yang terbiasa dengan pelaburan saham, tanpa perlu memegang Bitcoin secara langsung. Saham Syarikat Perlombongan Bitcoin: Perniagaan syarikat ini adalah perlombongan bitcoin dan memegang bitcoin

Cuti atau kembali dari Java 8 Stream Foreach? Cuti atau kembali dari Java 8 Stream Foreach? Feb 07, 2025 pm 12:09 PM

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

Apakah perbezaan antara pra-pasaran dan perdagangan selepas pasaran? Penjelasan terperinci mengenai perbezaan antara perdagangan pra-pasaran dan selepas pasaran Apakah perbezaan antara pra-pasaran dan perdagangan selepas pasaran? Penjelasan terperinci mengenai perbezaan antara perdagangan pra-pasaran dan selepas pasaran Mar 03, 2025 pm 11:54 PM

Di pasaran kewangan tradisional, perdagangan pra-pasaran dan selepas pasaran merujuk kepada aktiviti perdagangan di luar tempoh dagangan biasa. Walaupun pasaran cryptocurrency didagangkan sepanjang masa, platform perdagangan seperti Bitget juga menawarkan ciri -ciri yang sama, terutama beberapa platform komprehensif yang perdagangan saham dan kriptografi pada masa yang sama. Artikel ini akan menjelaskan perbezaan dalam perdagangan pra-pasaran dan selepas pasaran dan meneroka kesannya terhadap harga mata wang. Empat perbezaan utama antara perdagangan pra-pasaran dan selepas pasaran: perbezaan utama antara pra-pasaran dan perdagangan selepas pasaran dan tempoh dagangan biasa adalah dalam empat aspek: masa dagangan, kecairan, turun naik harga dan jumlah dagangan: masa dagangan: dagangan pra-pasaran berlaku sebelum perdagangan rasmi bermula, dan perdagangan selepas itu adalah selepas dagangan. Kecairan: Kecairan perdagangan pra-dan selepas jam adalah rendah, terdapat beberapa peniaga, dan tawaran dan tawaran harga tawaran adalah besar;

Mengapa Bittensor dikatakan sebagai 'Bitcoin' di trek AI? Mengapa Bittensor dikatakan sebagai 'Bitcoin' di trek AI? Mar 04, 2025 pm 04:06 PM

Tajuk Asal: Bittensor = Aibitcoin? Bittensor mengamalkan model subnet yang membolehkan kemunculan penyelesaian AI yang berbeza dan memberi inspirasi kepada inovasi melalui token TAO. Walaupun pasaran AI matang, Bittensor menghadapi risiko yang kompetitif dan mungkin tertakluk kepada sumber terbuka yang lain

Program Java untuk mencari kelantangan kapsul Program Java untuk mencari kelantangan kapsul Feb 07, 2025 am 11:37 AM

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

Adakah terdapat perbezaan antara bitcoin Korea Selatan dan bitcoin domestik? Adakah terdapat perbezaan antara bitcoin Korea Selatan dan bitcoin domestik? Mar 05, 2025 pm 06:51 PM

Ledakan pelaburan Bitcoin terus memanaskan. Walaupun China pernah menjadi pasaran terbesar untuk bitcoin, kesan dasar telah membawa kepada sekatan transaksi. Hari ini, Korea Selatan telah menjadi salah satu pasaran Bitcoin utama di dunia, menyebabkan pelabur mempersoalkan perbezaan di antara ia dan bitcoin domestiknya. Artikel ini akan menjalankan analisis mendalam tentang perbezaan antara pasaran bitcoin kedua-dua negara. Analisis perbezaan antara Korea Selatan dan pasaran Bitcoin China. Sebagai contoh, pada akhir Oktober 2024, harga bitcoin di Korea Selatan sekali

See all articles