java web Java中,兩個new的對象對==做比較,可以返回true嗎?
Java中,兩個new的對象對==做比較,可以返回true嗎?首先,給出答案。將兩個新對象與==進(jìn)行比較將不為真。結(jié)果一定是假的!要理解原因,首先要知道Java是一種面向?qū)ο蟮恼Z言。除了八種基本類型(
Java中,兩個new的對象對==做比較,可以返回true嗎?
首先,給出答案。將兩個新對象與==進(jìn)行比較將不為真。結(jié)果一定是假的
!要理解原因,首先要知道Java是一種面向?qū)ο蟮恼Z言。除了八種基本類型(byte、short、int、long、double、float、Boolean、char)之外,其余的都以對象的形式存儲在內(nèi)存堆中;
在了解JVM如何調(diào)用對象之后,您還需要知道在Java中==比比較兩個對象之間的引用是否相等更好。因此,用==比較兩個新對象將不是真的
!要比較兩個對象是否相等,可以同時重寫對象的equals()方法和對象的hashcode()方法,因為如果將對象存儲在集合容器(如map)附近,則首先比較對象的hashcode值,然后調(diào)用equals方法
如果是int類型,則可以直接用“==”判斷是否相等,例如:inti=10intj=10系統(tǒng)打印(I==J);如果是整數(shù)類型,可以使用equals方法進(jìn)行相等比較。int和integer的基本用法比較:(1)integer是int的包裝類;int是基本數(shù)據(jù)類型;(2)integer變量必須實例化才能使用;(3)integer實際上是對象的引用,指向新的integer對象;(4)integer的默認(rèn)值為null;int的默認(rèn)值為0。