JavaSE 第二十九讲 String类源代码深析 16.10.15

1.equals()方法,定义在Object类中,因此Java中每个类都有该方法。
对于Object类中equals()方法来说,它是判断调用equals()方法的引用与传进来的引用是否一样(指向同一个对象)。
对于Object类的equals()方法来说,等价于==。

2、对于String类的equals()方法来说,它是判断当前字符串与传进来的字符串的内容是否一致。

public class StringTest
{
    public static void main(String[] args)
    {
        String str = new String("aa");
        String str2 = new String("aa");

        System.out.println(str.equals(str2));//true.

        String str3 = "aa";
        String str4 = "aa";
        
        System.out.println(str3.equals(str4));//true.
        
        System.out.println("----------------");

        Object object = new Object();
        Object object2 = new Object();

        System.out.println(object.equals(object2));//false.
    }
}

3、对String对象的相等性判断来说,推荐使用equals()方法,而不要用==。

public class EqualsTest
{
    public static void main(String[] args)
    {
        Student s1 = new Student("zhangsan");
        Student s2 = new Student("zhangsan");

        System.out.println(s1 == s2);
        System.out.println(s1.equals(s2));
    }
}

class Student
{
    String name;

    public Student(String name)
    {
        this.name = name;
    }

    public boolean equals(Object anObject)
    {
        if(this == anObject)
        {
            return true;
        }
        if(anObject instanceof Student)
        {
            Student student = (Student)anObject;

            if(student.name.equals(this.name))
            {
                return true;
            }
        }
        return false;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,958评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,940评论 0 62
  • 一、String 类 1、定义: 1、从概念上讲,java字符串就是Unicode字符序列。每个用双引号括起来的字...
    玉圣阅读 5,535评论 0 1
  • 在浮陀山主峰的半山腰上坐落着一座寺庙,名曰:沧济寺。寺中僧人两百,自入寺那日剃度出家后就未再出过山门,衣食来源皆是...
    易苏姀阅读 3,437评论 0 1
  • 1.教育和教学的艺术和技艺,是发挥每个学生的力量和可能性,使他们感到在脑力劳动中取得成绩的喜悦。对学生在学习方面应...
    LittlePiggie阅读 3,188评论 0 1