Java中同类对象比较,compareTo()与compare()有何区别?

2026-05-21 06:033阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1095个文字,预计阅读时间需要5分钟。

Java中同类对象比较,compareTo()与compare()有何区别?

在Java中,比较操作符用于比较两个对象,类似于现实生活中比较人与人之间的年龄。我们通常不会比较一个人的年龄和身高,因为这没有意义。同样,在Java中,我们比较的是同一类的对象,而不是不同类型的对象。下面是Java中用于比较对象的方法:

1. `==`:比较两个对象是否引用同一个实例。

2.`!=`:与`==`相反,比较两个对象是否不是同一个实例。

3.`equals()`:通常用于比较两个对象的内容是否相同。

例如:

java

String s1=new String(Hello);String s2=new String(Hello);boolean result=(s1==s2); // 通常返回false,因为它们是不同的实例result=(s1.equals(s2)); // 返回true,因为它们包含相同的字符串内容

首先我们都知道java中的比较都是同一类对象与对象之间的比较,就好像现实生活中比较人和人的年龄一样,你不会去把人的年龄和人的身高来比较,这显然是没有意义的。

java中同类对象之间的比较又分为两种,基本类型之间的比较和引用类型之间的比较。

java中“==”比较对象是否引用了同一个对象,或者比较基本类型变量值是否相等。Object类的equals()方法用来比较是否一个对象(内存地址比较),可以重写。

JDK中有些类重写了equals()方法,只要类型、内容都相同,就认为相等。很变态的Boolean类,仅存在两个实例。

具体可查看API。一般来说,一个类如果涉及到比较,应该重写equals()方法,因为内存地址比较没有意义。

阅读全文
标签:compareTo

本文共计1095个文字,预计阅读时间需要5分钟。

Java中同类对象比较,compareTo()与compare()有何区别?

在Java中,比较操作符用于比较两个对象,类似于现实生活中比较人与人之间的年龄。我们通常不会比较一个人的年龄和身高,因为这没有意义。同样,在Java中,我们比较的是同一类的对象,而不是不同类型的对象。下面是Java中用于比较对象的方法:

1. `==`:比较两个对象是否引用同一个实例。

2.`!=`:与`==`相反,比较两个对象是否不是同一个实例。

3.`equals()`:通常用于比较两个对象的内容是否相同。

例如:

java

String s1=new String(Hello);String s2=new String(Hello);boolean result=(s1==s2); // 通常返回false,因为它们是不同的实例result=(s1.equals(s2)); // 返回true,因为它们包含相同的字符串内容

首先我们都知道java中的比较都是同一类对象与对象之间的比较,就好像现实生活中比较人和人的年龄一样,你不会去把人的年龄和人的身高来比较,这显然是没有意义的。

java中同类对象之间的比较又分为两种,基本类型之间的比较和引用类型之间的比较。

java中“==”比较对象是否引用了同一个对象,或者比较基本类型变量值是否相等。Object类的equals()方法用来比较是否一个对象(内存地址比较),可以重写。

JDK中有些类重写了equals()方法,只要类型、内容都相同,就认为相等。很变态的Boolean类,仅存在两个实例。

具体可查看API。一般来说,一个类如果涉及到比较,应该重写equals()方法,因为内存地址比较没有意义。

阅读全文
标签:compareTo