zoukankan      html  css  js  c++  java
  • ==与equals的区别

    ==比较两个对象在内存里是不是同一个对象,就是说在内存里的存储位置一致。两个String对象存储的值是一样的,但有可能在内存里存储在不同的地方 .

    ==比较的是引用而equals方法比较的是内容。public boolean equals(Object obj) 这个方法是由Object对象提供的,可以由子类进行重写。默认的实现只有当对象和自身进行比较时才会返回true,这个时候和==是等价的。String, BitSet, Date, 和File都对equals方法进行了重写,对两个String对象 而言,值相等意味着它们包含同样的字符序列。对于基本类型的包装类来说,值相等意味着对应的基本类型的值一样。

    public class EqualsTest {
                   public static void main(String[] args) {
                                   String s1 = “abc”;
                                   String s2 = s1;
                                   String s3 = new String(”abc”);
                                   String s4 = new String(”abc”);
                                   String s5 = “abc”;
                                   System.out.println(”== comparison : ” + (s1 == s5));
                                   System.out.println(”== comparison : ” + (s1 == s2));
                                   System.out.println(”Using equals method : ” + s1.equals(s2));
                                   System.out.println(”== comparison : ” + s3 == s4);
                                   System.out.println(”Using equals method : ” + s3.equals(s4));
                   }
    }
    == comparison : true
    == comparison : true
    Using equals method : true
    false
    Using equals method :true
  • 相关阅读:
    php将汉字转换为拼音和得到词语首字母(一)
    json字符串、json对象、数组之间的转换
    nginx配置详解(转)
    layer弹出层效果
    Ajax最详细的参数解析和场景应用
    bootstrap table使用指南
    JS的内置对象
    ThinkPHP导出CSV、Excel
    ThinkPHP的易忽视点小结
    sublime text 删除插件
  • 原文地址:https://www.cnblogs.com/feifeishi/p/6025860.html
Copyright © 2011-2022 走看看