/** * ==和equals区别 * ==: 基本变量中,==操作符专门用来比较两个变量的值是否相等 ;引用变量中,==操作符专门用来比较两个变量的引用是否相等 * <p> * equals: 只能作用于引用变量,没有重写,则指向两个变量的引用地址,如果重写了,则指向两个变量的内容 */ public class test2 { public static void main(String[] args) { //当为引用变量时 String a = new String("你好"); String b = new String("你好"); System.out.println(a == b);//内容虽然一样,但是引用变量指向的地址不同,所以变量值不同。false System.out.println(a.equals(b));// 因为String类里重写了equals方法,所以比较的是内容,相同,为true String i = "你好"; String j = "你好"; System.out.println(i == j);//true System.out.println(i.equals(j));//true System.out.println(i.equals(b));//true test2 g = new test2(); test2 h = new test2(); System.out.println(g.equals(h));//false 因为自己定义的test2没有重写equals方法, // 所以比较的是地址,因为两个对象的地址都不同,所以为false // 当为基础类型时 int c = 5; int d = 5; short e = 5; int f = c; System.out.println(c == d);//true System.out.println(c == e);//true System.out.println(f == c);//true } }
==和equals 讲解
最新推荐文章于 2024-07-28 08:30:00 发布