Java中,如果賦值Integer型別的物件為null,那麼它會有預設值嗎

時間 2021-06-03 22:48:57

1樓:CookerJp

Integer不會有預設值,因為包裝型別是類,類是分配位址空間的,你指定Integer為null,說明jvm只會定義乙個類物件,但是不會給這個類物件newInstance,int型別不能直接定義為null,就是為了給預設值

2樓:最靈活的胖子

這個要看你怎麼使用了,具體來說有兩種情況,

1,把它賦值給乙個primitive的int變數,那麼會得拋乙個空指標異常,原因是虛擬機會自動執行拆包操作,拆包的前提是物件不能為空

2,把它再賦給另外乙個包裝型別Integer物件,那麼他賦值前是什麼,賦值後也是什麼,複製前是null,那麼賦值後也是null

package

com.carlwang

;import

org.junit.jupiter.api.Assertions

;import

org.junit.jupiter.api.Test

;/**

* Created by Carl Wang on 2021/2/8 9:51 上午

*/class

PrimitiveTest);}

@Test

void

test_package_object_to_package_object()}

Java中對引用型別的賦值和返回是原子操作嗎?

楊陽洋DMC JMM記憶體模型,有八種操作,lock,unlock,read,load,use,assign,store,write這八個操作是原子操作。另外就是 synchronized,和 volatile相關原子操作。你這new的物件,編譯成位元組碼看一下,應該有load use等指令,所以不...

Java中List String a new List 10 這種寫法的元素型別是List嗎?

代林 首先,Number b new Integer 10 並不是建立了乙個value 10的Integer,而是建立了乙個陣列,這個陣列的長度的10,且理論上只能儲存Integer。想要建立乙個value 10的Integer應該是用Number b new Integer 10 同理,List ...

c 中如何給類的私有成員賦值?

zhLzm 最好的是通過建構函式給類的私有成員進行初始化 可以有多種初始化建構函式 如果需要在操作中設定某個私有變數基於C 類的封裝特性,最好編寫一個函式去修改需要改變的成員產量。 王祺 假設你的類在a.h中 define private public include a.h undef priva...