基本型別、物件引用都在棧中;而物件本身在堆中
== 基本資料型別比較的是值 物件比較的是位址
基本資料型別與封裝模擬較會自動拆箱,所以比較的還是值,兩個封裝模擬較的是位址
equals 比較值
integer s=
new
integer(
9
);
(s.equals(9))
, 在進行 equals 比較之前,會對 9 呼叫 integer.valueof 方法,進行自動裝箱 , 由於 integercache 中已經存在 9 ,所以,直接返回其引用,引用相同, equals 就自然相同了。所以結果為真。
(s.equals(
newinteger(9)) ,直接建立了乙個新的 integer 例項,但且值也為 9 ,所以,滿足條件,返回真。
Java基本型別與物件
1 基本型別 int long short byte double float char boolean 例一 byte b1 1,b2 2 byte b3 b1 b2 error 因為執行整數運算是按32位或64位進行,其結果變成了int,需強行轉換 byte b3 byte b1 b2 yes....
Integer和int基本型別的比較
先看幾行 integer a1 100 integer a2 100 system.out.println a1 a2 a1 a2 integer b1 200 integer b2 200 system.out.println b1 b2 b1 b2 integer c1 new integer ...
objective c 基本型別和物件型別解讀
我將用最簡單的話來描述我所理解的oc資料型別。1.基本型別 primitive type 1 常用資料型別 int float long boolen nsinteger 2 原生資料型別,直接存在棧上,不會有 2.物件型別 object type 對應的是乙個物件,即object data met...