+ 5

What's the difference between int and Integer? Plz explain...

Integer a=10; Integer b=10; if (a==b) ; // this results false ! // if a and b are declared as int if stmt is true!

14th Apr 2017, 12:39 PM
Çhandra_ƞhekar
Çhandra_ƞhekar - avatar
9 Answers
+ 13
In this case, you are not comparing integers. You are comparing objects. Two object won't be equal even if they have same data.
14th Apr 2017, 1:33 PM
Krishna Teja Yeluripati
Krishna Teja Yeluripati - avatar
+ 7
a==b doesn't check integer values and doesn't check object equality, it checks object references. The two Integer objects are different objects so theirs references are different even if they are equals (equals method would return true)
14th Apr 2017, 3:39 PM
TamĂĄs Barta
TamĂĄs Barta - avatar
+ 5
for each primitive type there exists a wrapper type (Character, Integer, Double). These are objects as String or any other non-primitive type. with == you compare the reference of objects. the same reason why string comparison only works with equals instead of ==.
14th Apr 2017, 1:00 PM
Petja Boigk
Petja Boigk - avatar
+ 4
Then I'll nod If I'm rock 😗
14th Apr 2017, 5:12 PM
Yanothai Chaitawat
Yanothai Chaitawat - avatar
14th Apr 2017, 1:27 PM
à€Šà„‡à€”à„‡à€‚à€Šà„à€° à€źà€čà€Ÿà€œà€š (Devender)
à€Šà„‡à€”à„‡à€‚à€Šà„à€° à€źà€čà€Ÿà€œà€š (Devender) - avatar
+ 2
int is just a keyword(or data type) but Integer is a class Integer a = 10; Integer b = 10; if(a==b) System.out.print("true"); And that "if statement" always be true,bro
14th Apr 2017, 1:22 PM
Yanothai Chaitawat
Yanothai Chaitawat - avatar
+ 2
In your case "a" and "b" are the two objects of class "Integer". Two objects can't be same as their reference is different. But "int" is data type not a class
14th Apr 2017, 5:30 PM
Rohan Rajak
0
thx for all of ur answers. .. u all rock ! I got the answer
14th Apr 2017, 5:11 PM
Çhandra_ƞhekar
Çhandra_ƞhekar - avatar
0
😂
14th Apr 2017, 5:17 PM
Çhandra_ƞhekar
Çhandra_ƞhekar - avatar