public class JavaEqualty { public static void main(String[] args) { //----------------------------------------- // java language specification 3.0 $5.1.7 Boxing Conversion // // If the value p being boxed is true, false, a byte, a char // in the range \u0000 to \u007f, or an int or short number // between -128 and 127, then let r1 and r2 be the results // of any two boxing conversions of p. It is always the // case that r1 == r2. //----------------------------------------- /* auto-boxing */ Integer int1 = 2; Integer int2 = 2; // print 'true' System.out.println(int1 == int2); Integer int3 = 200; Integer int4 = 200; // print 'false' System.out.println(int3 == int4); //------------------------------------------ Integer int5 = new Integer(0); Integer int6 = new Integer(0); // The two objects are both equal to 0 System.out.println(int5 == 0 && int6 == 0); // But they are not equal to each other System.out.println(int5 == int6); //print 'true', relational ops unboxing both sides System.out.println(int5 <= int6 && int5 >= int6); //----------------------------------------- // java language specification 3.0 $15.21.2 Boolean Equality // Operators == and != // // If the operands of an equality operator are both of type // boolean, or if one operand is of type boolean and the // other is of type Boolean, then the operation is boolean // equality. The boolean equality // operators are associative. // // If one of the operands is of type Boolean it is subjected // to unboxing conversion //----------------------------------------- Boolean b1 = new Boolean(true); boolean b2 = true; // print 'true' System.out.println(b1 == b2); Boolean b3 = new Boolean(true); Boolean b4 = new Boolean(true); // print 'false', they are not equal to each other System.out.println(b3 == b4); } }
Friday, 30 September 2011
Interesting part of Java equality
Labels:
java
Subscribe to:
Posts (Atom)