相等运算符用于比较两个相似的事物(数字,字符,boolean,原始类型和对象引用)。相等运算符将始终产生boolean值(true或false)。
对于对象引用,如果两个引用变量都引用同一个对象,则返回true。
package org.nhooo.example.fundamental; public class EqualityDemo { public static void main(String[] args) { int value1 = 10, value2 = 10, number1 = 10; char a = 'a', b = 'b'; double number2 = 10d; Cat kitty = new Cat("Kitty"); Cat kitten = new Cat("Kitty"); Cat sweetie = kitty; if (value1 == value2) { System.out.println("Equal"); } if (a != b) { System.out.println("Not Equal"); } // 尽管它具有不同的类型,但是具有相同的值 if (number1 == number2) { System.out.println("Equal"); } // 它不是指同一个对象,所以它将返回 // 假 if (kitty == kitten) { System.out.format("(kitty == kitten) = " + (kitty == kitten)); } else { System.out.println("(kitty == kitten) = " + (kitty == kitten)); } // 它引用了相同的对象,因此它将返回true if (kitty == sweetie) { System.out.println("(kitty == sweetie) = " + (kitty == sweetie)); } if (true != false) { System.out.println("true != false"); } } } class Cat { private String name; Cat(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
这是程序的结果:
Equal Not Equal Equal (kitty == kitten) = false (kitty == sweetie) = true true != false