If this is a duplicate I'll happily delete it, but I am unable to find it.
Why does does the 2nd comparison return false? Thanks.
$ cat test.java
class test {
public static void main(String[] args) {
Integer num1 = new Integer(0);
Integer num2 = new Integer(0);
num1 = 1;
num2 = 1;
if (num1 == num2) {
System.out.println("Numbers are equal");
}
num1 = 128;
num2 = 128;
if (num1 == num2) {
System.out.println("Numbers are equal using == ");
}
if (num1.equals(num2)) {
System.out.println("Numbers are equal using .equals");
}
}
}
$ javac test.java
$ java test
Numbers are equal
Numbers are equal using .equals