KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I just saw code similar to this: public class Scratch { public static void main(String[] args) { Integer a = 1000, b = 1000; System.out.println(a == b); Integer c = 100, d = 100; System.out.println(c == d); } } When ran, this block of code will print out: false true I understand why the first is false : because the two objects are separate objects, so the == compares the references. But I can't figure out, why is the second statement returning true ? Is there some strange autoboxing rule that kicks in when an Integer's value is in a certain range? What's going on here?
Tags (comma-separated)
Save Edits
Cancel