Java集合——3.编写equals方法】的更多相关文章

List是一种有序链表: List内部按照放入元素的先后顺序存放 每个元素都可以通过索引确定自己的位置 boolean contains(Object o) 是否包含某个元素 int indexOf(Object o) 查找某个元素的索引,不存在返回-1 1.String\Integer等已经覆写了equals方法 import java.util.*; public class Main { public static void main(String[] args){ List<String…
下面给出一个实例,重新编写equals()方法,提供自定义的相等标准 public class PersonTest { public static void main(String[] args) { Person p1 = new Person("孙悟空", "1234"); Person p2 = new Person("孙行者", "1234"); Person p3 = new Person("孙大圣&qu…
equals() 超类Object中有这个equals()方法,该方法主要用于比较两个对象是否相等.该方法的源码如下: public boolean equals(Object obj) { return (this == obj); } 我们知道所有的对象都拥有标识(内存地址)和状态(数据),同时“==”比较两个对象的的内存地址,所以说使用Object的equals()方法是比较两个对象的内存地址是否相等,即若object1.equals(object2)为true,则表示equals1和eq…
一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class TestEquals { 4 public static void main(String[] args) { 5 /** 6 * 这里使用构造方法Cat()在堆内存里面new出了两只猫, 7 * 这两只猫的color,weight,height都是一样的, 8 * 但c1和c2却永远不会相等,这是因为c1和c2分别为堆内存里面两只猫的引用对象…
http://bbs.csdn.net/topics/390000725 总结: equals在没重写之前和==一样,重写之后,equals只要内容一样即为true equals跟==一般情况下是等价的,但是对于String类型,它重写了equals方法,比较的是内容.默认情况下两个都是比较的引用地址,除非你重写equals方法. equals源码: public boolean equals(Object anObject) { if (this == anObject) { return t…
1.八种基本类型 只有"=="方法进行判断是否相等,比较的是基本数据类型的值,没有equals()方法 2.Java类库中的类 "=="比较的是对象的句柄,即内存地址 equals(),若类重写了equals方法,则比较的是对象的值 3.自定义类 "=="比较的是对象的句柄,即内存地址 equals()默认比较的也是内存地址,若类重写了equals方法,则根据具体情况而定…
一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 package cn.galc.test; public class TestEquals { public static void main(String[] args) { /** * 这里使用构造方法Cat()在堆内存里面new出了两只猫, * 这两只猫的color,weight,height都是一样的, * 但c1和c2却永远不会相等,这是因为c1和c2分别为堆内存里面两只猫的引用对象, * 里面装着可以找到这两只猫…
基本概念: Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入: Object类是所有Java类的祖先.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法.可以使用类型为Object的变量指向任意类型的对象 equals()方法:比较两个对象是否同一       如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等.如果两个引用对象指的是同一个对像,则称这两个变量同一.Object类中定义的equa…
String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(s1.equals(s2)); System.out.println(s1 == s2); 根据上面所讲,第一个是true,第二个是false String s1 = "abc"; String s2 = "abc"; System.out.println(s…
所有类都从Object类中继承了equals方法,Object类中equals方法源代码如下: public boolean equals(Object obj)     {         return this == obj;     } Object中的equals方法是直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参obj所引用的对象是否是同一对象,所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的是同一块内存对象,则返回true,如果th…