==和equals 讲解

来源:互联网 发布:读写数据什么意思 编辑:程序博客网 时间:2024/06/11 23:52
/** * ==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    }}
原创粉丝点击