==与equals的区别 == 是比较两个对象的地址的,equals 是比较值的 我是这样理解的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 rs.getString()返回的是一个字符串吗? 一个对象名实际是一个指针 ==比较的是两个指针是否指向同一个地址 equals比较的是两个指针指向的地址中的内容 JAVA中的变量分为基本类型和对象类型,基本类型包括int,long,char之类的变量,在判断这类变量是否相等时,使用==,而在对象之间进行比较时==就不行了,如果两个对象使用==比较返回true的话,说明它们指向的是同一个引用,这样的比较没有意义,所以对象之间的比较用从Object对象里继承来的equals()方法来进行,Object中的equals()方法不做任何实际比较,只是符合如下规律:1.可逆(reflexive) 例x.equals(x)返回true 2.对称(symmetric) 例如果x.equals(y)返回true,则y.equals(x)返回true 3.传递(transitive) 例如果x.equals(y)返回true,y.equals(z)返回true,则x.equals(z)返回true 4.持续(consistent) 5.非空 所有对象实现的equals()方法都满足这些条件,而不同的对象比较的方法则不相同,例如String对象的equals()就是比较两个自符串每个自符是否一致来实现的,因此如果是自己创建的对象,如果想要比较的话,就应该自己实现equals()方法. 2个服务器之间的使用(细看问题) jsp + servlet下载文件的问题 关于jpa/hibernate的性能 fileupload 下载问题 在线等待 用JQuery如何设置文本框的type属性 问题linux 系统下的计划任务 江湖告急!!!!!在myeclipse中整合spring和hibernate的问题,100分求问!!解决分全给! 求助com.ibatis.sqlmap.client.SqlMapClient在那能找到 EJB如何处理视图 struts1.1例子的一些语句不太明白 在线等!cache的问题. hibernate left join 问题,,,,求助。。。。
==比较的是两个指针是否指向同一个地址
equals比较的是两个指针指向的地址中的内容
JAVA中的变量分为基本类型和对象类型,基本类型包括int,long,char之类的变量,在判断这类变量是否相等时,使用==,而在对象之间进行比较时==就不行了,如果两个对象使用==比较返回true的话,说明它们指向的是同一个引用,这样的比较没有意义,所以对象之间的比较用从Object对象里继承来的equals()方法来进行,Object中的equals()方法不做任何实际比较,只是符合如下规律:1.可逆(reflexive) 例x.equals(x)返回true 2.对称(symmetric) 例如果x.equals(y)返回true,则y.equals(x)返回true 3.传递(transitive) 例如果x.equals(y)返回true,y.equals(z)返回true,则x.equals(z)返回true 4.持续(consistent) 5.非空
所有对象实现的equals()方法都满足这些条件,而不同的对象比较的方法则不相同,例如String对象的equals()就是比较两个自符串每个自符是否一致来实现的,因此如果是自己创建的对象,如果想要比较的话,就应该自己实现equals()方法.