equals&&hashCode&&toString函数
来源:互联网 发布:cors网络账号怎么获取 编辑:程序博客网 时间:2024/05/18 01:49
equals函数
1.所有类中都继承了equals函数,equals函数存在于object类
“==”表示两个引用是否指向同一个对象(堆内存中同一个地址)。
一般情况下,对象的内容相等依据:
1.对象的类型相同(可以使用instanceof操作符进行比较,
boolean flag=p instanceof Student;是的话返回true)
2.两个对象的成员变量的值完全相同。
boolean a.equals(b)
如果a和b对象相同,返回true
继承来的equals函数只能满足”==”标准,需要对equals函数进行复写
public class User{String name;int age;public boolean equals(Object obj){ if(this==obj){return true;}boolean flag=obj instanceof User;if(flag){User u=(User)obj;if(this.age==u.age&&this.name.equals(u.name))//String类型是引用,使用”==”会表示同一对象。return true;else{return false;}}else{return false;}}}public static void main(String args[]){User u1=new User();User u2=new User();u1.age=2;u1.name="sa";u2.age=3;u2.name="sd";System.out.println(u1.equals(u2));}
hashCode()函数
存在于Object类当中,因为所有的类的继承了Object类,所以所有的类都有上述的方法。
图中,输出null,因为map中get方法是通过找对象的哈希值找对象,由于新生成的对象和map中的对象虽然相等,但是并不是同一对象所以哈希值不一样,所以找不到。
对hashCode进行复写
一般用31,可由系统自动生成
toString()函数,调试时使用
toString(),把对象转换成一个String类型的字符串
public class User{String name;int age;public String toString(){String result="name:"+name+" age:"+age;return result;}}public class Test {public static void main(String args[]){User u1=new User();u1.age=2;u1.name="sa";System.out.println(u1);//自动调用u1的toString函数}}
1 0
- equals&&hashCode&&toString函数
- equals, hashCode,toString
- equals() 、 toString() 、 getClass() 、 hashCode()
- equals()、hashCode()、toString()
- equals hashcode toString
- equals函数,hashCode(),toString()的作用和实现方法
- Object 类 equals toString hashCode
- equals、hashCode、toString 方法重写
- Overriding toString(), hashCode() and equals() Methods
- 接口、Object类(toString(), equals(), hashCode())
- Java4Android学习十六 - equals()、hashCode()、toString()
- Java toString equals hashCode 方法的重写
- java继承中的 equals + hashCode+toString
- Java equals() ,hashCode(),toString() 的推荐写法。
- JAVA笔记十一(44-45 equals函数、hashcode()与toString())
- get和set,有参无参构造函数,toString,equals和hashCode的MyEclipse快捷键
- Hashcode和equals函数探究
- toString、hashCode、equals的重写原因与重写示例
- JDBC工具类
- Sql语句中,Contains与Like查询结果不相同的问题
- Java正则表达式
- javaee之el表达式的运用
- Javascript使用postMessage对iframe跨域通信
- equals&&hashCode&&toString函数
- CodeForces 631C
- sql中contains,like,patindex ,charindex和freetext语句的区别?
- Spring探究(1)——功能特性
- Erasure Code
- .net 视频转换
- Eclipse安装maven插件报错
- GIS理论(墨卡托投影、地理坐标系、地面分辨率、地图比例尺、Bing Maps Tile System)
- hdoj-4828-Grids