1. 程式人生 > >Integer 與int 賦值比較

Integer 與int 賦值比較

測試程式碼:

複製程式碼
 @Test
    public void IntegerTest() {
        Integer i01 = 59;
        int i02 = 59;
        Integer i03 = Integer.valueOf(59);
        Integer i04 = new Integer(59);
        System.out.println(i01==i02);
        System.out.println(i01==i03);
        System.out.println(i03==i04);
        System.out.println(i02
==i04); }
複製程式碼

執行結果:

true
true
false
true

斷點除錯分析結果:

i01是引用型別,如圖引用的地址為[email protected]

i02是值型別

i03是引用型別,因為引用型別值放在堆裡面,如果堆裡有值,i03這種取值方式就直接引用原有值的地址[email protected]

i04是引用型別,但是i04是new建立新物件,要在堆裡新開空間存放值,也就會有新地址[email protected]

i01與i02比較,引用型別和值型別用等號比較,比較的是值(引用型別自動拆箱為int),故返回true;

i01與i03比較,引用型別和引用型別用等號比較,比較的是地址,兩個地址一樣,故返回true;

i03與i04比較,引用型別和引用型別用等號比較,比較的是地址,兩個地址不同,故返回false;

i02與i04比較,值型別與引用型別用等號比較,比較的是值(引用型別自動拆箱為int),故返回true;

相關推薦

Integer int 比較

測試程式碼: @Test public void IntegerTest() { Integer i01 = 59; int i02 = 59; Integer i03 = Integer.valueOf(5

Java進階 三十四 Integerint的種種比較你知道多少

包裝 之間 www. tex -128 function detail content aqi Java進階(三十四)Integer與int的種種比較你知道多少? 前言 如果面試官問Integer與int的區別:估計大多數人只會說到兩點:Inge

Integerint比較

最近發現了一個情況;如下: public static void main(String[] args) { Integer a=333; Integer b=333; int c=333; System.out.println(a==b);

Integer 為空int

今天遇到了一個異常,將Integer的值賦值給int時不會自動將Integer 的null轉化為0,而是報執行時異常,空指標 public static void main(String[] a

java中Integerint比較淺談

今天看到一個面試題 測試程式碼如下 public class test { @Test public void test(){ Integer a = 300 ; Integer b = 300; int c = 300; System.out.println(a == b); System.out.pri

Java Integer int 深刻理解

true ger style blog 問題: pan left www. out   今天在做Object 自動轉為Integer 類型之後的判斷,遇到一個不理解的點,當數值超過127之後,兩個數值相同的Object 對象用 == 判斷的結果是false。

Integerint和String物件字串之間的"=="和equals情況

一、Integer與int ①程式碼 @Test public void testInteger() { int i = 129; int j = 129; Integer m = 128; Integer n

es6學習筆記之環境搭建結構

全域性安裝Babel-cli 在終端中輸入以下命令,如果你安裝很慢的話,可以使用淘寶映象的cnpm來進行安裝。安裝cnpm的方法,大家自己百度吧。 npm install -g babel-cli 雖然已經安裝了babel-cli,只是這樣還不能成功進行轉換,如果你不相信可以輸入下邊的命令

資料型別之Integerint

資料型別之Integer與int Java入門  基本資料型別 眾所周知,Java是面向物件的語言,一切皆物件。但是為了相容人類根深蒂固的資料處理習慣,加快常規資料的處理速度,提供了9種基本資料型別,他們都不

Integer Int 的區別

Integer 類整形 與  Int 整形 的區別   最近在翻java的原始碼,發現了一些平常不注意,但很容易出錯的東西,最近有空的話就整理出來。   Integer:是一個int的包裝類,Integer變數的儲存需要例項化Integer的例項物件,

Integerint的區別?

1、Integer 是 int 提供的封裝類,從 Java 5開始引入了自動裝箱/拆箱機制,使得二者可以相互轉化,而 int 是 Java 的基本資料型別; 2、Integer 預設值是 null ,而 int 預設值是0; 3、Integer 是物件,用一個引用指向這個物件,而 int

Python零基礎入門之python程式碼的外部模組引用基本語句!

從結構化程式設計流行以來,程式碼便被分塊儲存,稱之為模組或庫。 在python中仍然如其它程式語言一樣,我們可以在一個文件中方便地引用一個模組,然後可以在當前文件的程式碼中使用外部模組的可用物件。 一般來說,在python中一個外部模組也對應了一個以.py結尾的具體檔案。 一、引用模組中

構造析構拷貝那些事

建構函式 關於建構函式,我們耳熟能詳,似乎都沒有必要成為一個知識點,或者說是重要的知識點拿出來特殊說明,畢竟C++的編譯器都能幫我們完成這個工作,只是,事情真的如想象的那麼簡單麼; 可能不是。 本文試圖挖掘關於建構函式,可能不是那麼簡單的一面,當然也不會很全面,權當一起學習了。 建構函式的概念:提供類

js拷貝變數

     Js的深拷貝與淺拷貝       淺拷貝: var arr1=[{name:zhang}] var arr2=[] arr2=arr1 這時候arr2的資料和arr1是一樣的,這時如果把arr2中的name改變,這arr1的也會發生改變   深拷貝: /

Integerint的區別

徹底讓你明白 Integer 類和 int 基本資料型別的區別 2018年02月01日 16:46:33 鄭州尚學堂李老師 閱讀數:1866 標籤: Integer 類 int 基本資料型別  淺談 Integer 類 目錄 1、Integer 類簡介 2、

關於Integerint拆箱裝箱的總結

    最近在編碼過程中,程式碼提交之後sonar報了Bug警告,引發了對java中Integer類的一些思考。程式碼如下: public boolean verifyDimensions() { if (CollectionUtils.isEmpty(dimension

時間引數是double型,如何分別轉換成Int給struct timeval?

double d = 2.34089;struct timeval tv;tv.tv_sec = (int)d;tv.tv_usec = (int)((double)(((double)d-(int)d)*1000000))

C++複製建構函式過載操作符

內容整理自: 函式原型 在C++中建立一個類,這個類中肯定會包括建構函式、解構函式、複製建構函式和過載賦值操作。 複製建構函式是一種特殊的建構函式,其作用也是為類的成員初始化以及為物件的構造分配儲存空間。函式的名稱必須和類名稱一致,無返回型別,它的唯一的一個引數

C++中string char *

#include <iostream> #include <string> #pragma warning(disable:4996)//vs棄用strcpy int main

批註:C++中複製建構函式過載操作符總結:預設淺拷貝,帶指標的需要深拷貝

前言 這篇文章將對C++中複製建構函式和過載賦值操作符進行總結,包括以下內容: 複製建構函式和過載賦值操作符的定義;複製建構函式和過載賦值操作符的呼叫時機;複製建構函式和過載賦值操作符的實現要點;複製建構函式的一些細節。 複製建構函式和過載賦值操作符的定義 我們都知道