千家信息网

Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还 是 equals()?

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Set 里的元素是不能重复的,元素重复与否是使用 equals()方法进行判断的。equals()和==方法决定引用值是否指向同一对象 equals()在类中被覆盖,为的是当两个分离的对象的内容和类型
千家信息网最后更新 2026年10月31日Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还 是 equals()?

Set 里的元素是不能重复的,元素重复与否是使用 equals()方法进行判断的。
equals()和==方法决定引用值是否指向同一对象 equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。

equals()和==的区别

==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同, 要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存, 对象本身占用一块内存(堆内存),变量也占用一块内存,例如 Objet obj = new Object();变量 obj 是一个内存,new Object()是另一个内存,此时,变量 obj 所对应的内存中存储的数值就是对象占用的那块内存的首地址。对于指向对象类型的变量,如果要比较两个变量是否指向同一个对象,即要看这两个变量所对应的内存中的数值是否相等,这时候就需要用==操作符进行比较。equals 方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。

例如,对于下面的代码:

String a=new String("foo");String b=new String("foo");

两条 new 语句创建了两个对象,然后用 a/b 这两个变量分别指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即 a 和 b 中存储的数值是不相同的,所以表达式 a==b 将返回 false,而这两个对象中的内容是相同的,所以,表达式 a.equals(b)将返回true。
在实际开发中,我们经常要比较传递进行来的字符串内容是否等,例如, String input= …;input.equals("quit"),许多人稍不注意就使用==进行比较了,这是错误的,随便从网上找几个项目实战的教学视频看看,里面就有大量这样的错误。记住,字符串的比较基本上都是使用 equals 方法。如果一个类没有自己定义 equals 方法,那么它将继承 Object 类的 equals 方法, Object 类的 equals 方法的实现代码如下:

boolean equals(Object o){return this==o;}

这说明,如果一个类没有自己定义 equals 方法,它默认的 equals 方法(从 Object 类继承的)就是使用==操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用equals 和使用==会得到同样的结果,如果比较的是两个独立的对象则总返回 false。如果你编写的类希望能够比较该类创建的两个实例对象的内容是否相同,那么你必须覆盖 equals方法,由你自己写代码来决定在什么情况即可认为两个对象的内容是相同的由上述可见,总结如下:

==:

  基本类型:比较的是值是否相同

  引用类型:比较的是地址值是否相同

equals():

  引用类型:默认情况下,比较的是地址值,可进行重写,比较的是对象的成员变量值是否相同


对象 两个 变量 方法 相同 内存 类型 内容 指向 地址 操作符 数值 代码 存储 独立 元素 不同 字符 字符串 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳市人人互联网科技有限公司 互联网公司 科技公司 互联网金融 科技金融 致骋互联网科技 互联网科技排名 上海喔噻互联网科技 广西互联网科技公司 伴你行互联网科技有限公司 哈尔滨秒房互联网科技有限公司 济南华为互联网科技产业总部基地 重庆威客帮互联网科技 速维有品互联网信息科技(苏州)有限公司 哈尔滨屹滨互联网科技有限公司 上海钢联属于互联网科技股吗 上海互联网科技公司ppt 互联网科技接地气 中国新注册互联网科技 唯美互联网科技 广东猫王互联网科技有限公司电话 互联网科技自媒体灵感 金融科技 互联网金融 互联网科技公司电话 长亮科技互联网金融 互联网科技大会案例 成都互联网科技公司100强 互联网科技如何创业 为客找房互联网科技公司怎么样 厦门江牛科技互联网 有人说阿里系是互联网科技企业 现代互联网科技公司
0