相等运算符用于比较两个相似的事物(数字,字符,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