package wrapper;
public class MyTest {
public static void main(String[] args) {
int i = 1;
Integer I11 = 1;
Integer I12 = 1;
Integer I21 = 2;
Integer I13 = new Integer(1);
Integer I14 = new Integer(1);
double d1 = 1.0D;
double d2 = 2.0D;
Double D1 = 1.0D;
Double D2 = new Double(2.0D);
//1
System.out.println("============1============");
System.out.println(i == I11); //t
System.out.println(i == I13); //t
System.out.println(i == I21); //f
System.out.println(i == D1); //t
//2
System.out.println("\n============2============");
System.out.println(I11 == I12); //t
System.out.println(I11 == I21); //f
System.out.println(I11 == I13); //f
System.out.println(I13 == I14); //f
//System.out.println(I11 == D1); //类型不同不能比较
//3
System.out.println("\n============3============");
System.out.println(I11.equals(i)); //t
System.out.println(I21.equals(i)); //f
System.out.println(I21.equals(d2)); //f
System.out.println(I21.equals(d1)); //f
//4
System.out.println("\n============4============");
System.out.println(I11.equals(I12)); //t
System.out.println(I11.equals(I13)); //t
System.out.println(I11.equals(I21)); //f
System.out.println(I11.equals(D1)); //f
System.out.println(I11.equals(D2)); //f
}
}
//1、基本类型和包装器类型进行“==”运算符的比较,包装器类型将会自动拆箱变为基本类型后再进行比较
//2、两个类型相同的包装器的对象(类型不同不能比较)进行“==”比较时,比较的是引用是否相等,
// 只要有一个对象是new获得的,返回false
//3、包装器类型调用equals(基本类型)方法,先会进行自动装箱,基本类型转换为包装器类型,若类型不同返回false,
// 若类型相同,则比较值,如果值相同,则返回true,否则返回false。
//4、两个包装器类型进行equals()比较,首先equals()会比较类型,
// 如果类型相同,则继续比较值,如果值也相同,返回true
java 包装器类型 基本类型 == equals
最新推荐文章于 2022-11-15 17:35:07 发布