当前位置: 首页 > news >正文

蓝色扁平化网站网站开发语言那个好

蓝色扁平化网站,网站开发语言那个好,微商城网站建设策划书,世界500强企业名单排名equals() 作用:用于比较两个对象是否相等。默认实现比较对象的内存地址,即判断两个引用是否指向同一个对象 使用:通常会重写此方法来比较对象的内容 hashCode() 作用:返回对象的哈希值,用整数表示对象。 使用&…

equals()

作用:用于比较两个对象是否相等。默认实现比较对象的内存地址,即判断两个引用是否指向同一个对象

使用:通常会重写此方法来比较对象的内容

hashCode()

作用:返回对象的哈希值,用整数表示对象。

使用:如果重写了equals()方法,则通常也需要重写hashCode()方法,以保证相等的对象具有相同的哈希值

hashCode()默认实现是基于对象的内存地址生成哈希值,如果两个不同的对象,通过equals比较发现内容完全一样,可是内存地址不同,那么他们的哈希值也不同,这不符合"逻辑原则"

逻辑原则: 

  • 如果对象的 equals() 方法返回 true,那么这两个对象的 hashCode() 方法必须返回相同的值
  • 如果两个对象的 equals() 方法返回 false,则它们的 hashCode() 不必不同,但最好尽量不同,以提高性能
  • hashCode() 方法应一致性:在对象的生命周期内,如果对象的某些信息没有改变,则多次调用该对象的 hashCode() 方法应该返回相同的结果。

下面的例子中,将内存地址生成哈希值,改成用内容生成哈希值,然后equals比较也从比较内存地址,改成比较内容,所以这俩一般会一起重写

public class ObjectTest {String name;int age;public ObjectTest(String name, int age) {this.name = name;this.age = age;}@Overridepublic boolean equals(Object obj) {if (this == obj) return true; // 同一引用返回trueif (obj == null || this.getClass() != obj.getClass()) return false; // 空引用或者类型不匹配返回falseObjectTest objectTest = (ObjectTest) obj;return this.age == objectTest.age && Objects.equals(this.name, objectTest.name);}@Overridepublic int hashCode() {return Objects.hash(name, age); // 使用 Objects 工具类生成哈希码}public static void main(String[] args) {ObjectTest p1 = new ObjectTest("黄小桃", 18);ObjectTest p2 = new ObjectTest("王心妍", 20);ObjectTest p3 = new ObjectTest("黄小桃", 18);System.out.println(p1.equals(p2));System.out.println(p1.equals(p3));System.out.println(p1.hashCode());System.out.println(p2.hashCode());System.out.println(p3.hashCode());System.out.println(p1.hashCode() == p2.hashCode());System.out.println(p1.hashCode() == p3.hashCode());}
}

toString()

作用:用字符串表示对象。默认实现是返回对象的全限定类名加上哈希值的十六进制表示

使用:用来更清楚的描述对象

getClass()

作用:返回对象的运行时类(Class对象)。此方法是Object类中的final方法,不能被重写

使用:可以用来获取对象的类信息,常用于反射操作

notify()

作用:唤醒一个处于等待状态的线程。需要在同步代码块或者同步方法中调用

使用:用于在多线程环境中的线程通信

notifyAll()

作用:唤醒其他处于等待状态的所有线程。需要在同步代码块或通过方法调用

使用:用于处理多线程之间的通信协作

wait()

作用:使线程处于无限等待状态,直到其他线程调用notify()或者notifyAll()方法唤醒。需要在同步代码块或通过方法调用

使用:用于线程间的通信,线程会等待直到被唤醒或超时

wait(long timeout,int nanos)

作用:使线程处于计时等待状态(休眠状态),直到指定的时间到期或被唤醒

使用:用于实现更精细的等待控制,允许指定等待时间,甚至精确到纳秒

clone()

作用:创建并返回当前对象的一个副本。默认实现是进行浅拷贝

使用:通常会重写此方法实现深拷贝,以确保克隆对象的完整性

finalize()

作用:在垃圾回收器确定不存在对该对象的更多引用时调用,用于进行资源释放等清理工作

使用:不建议使用,因为它依赖于垃圾回收器的实现,可能会导致不确定的性能问题。推荐使用try-with-resources和AutoCloseable接口进行资源管理

http://www.yayakq.cn/news/990322/

相关文章:

  • 如皋建设网站佛山网中互联网服务有限公司
  • 汕头网站开发服务最专业的做网站公司
  • 群晖做网站服务器 套件协会网站建设需求文档
  • 海兴县网站建设网站seo文章该怎么写
  • 自己做的网站百度收录专业制作网站制作
  • 大型网站运营步骤wordpress 整主题设置页
  • dedecms网站地图调用网站建设知识学习心得
  • 如何做免费的网站中天建设集团有限公司重庆分公司
  • 网站做轮播图的意义div网站模板
  • 企业网站seo诊断工具东莞24小时推广首页
  • 企业网站趋势手机网站制作软件下载
  • 织梦网站修改首页图片网页制作和网页制作
  • 最好的ppt模板网站上海建站推广公司
  • 大学网站建设管理办法产品运营方案
  • 品牌网站建设重點大蝌蚪html5编辑器手机版
  • 可视化网站建设软件做设计必须知道的几个网站
  • 网站设计时应考虑哪些因素冰雪蜜城店加盟费多少
  • 电脑编程用什么软件网站快速优化排名免费
  • 网站灰色 代码简单网站建设 有教程
  • 咨询网站模板媒体营销
  • app商城网站开发盐城市城乡建设门户网站
  • 成都找人做网站九江网站建设哪家公司好
  • 网站制作教程 pdf下载wordpress发文章设置文字大小
  • 网站设计存在的问题如何把自己做的网站放到内网
  • 网站后台发表文章锦江建设和交通局网站
  • 网站建设深圳市龙岩网红打卡地
  • 电商网站建设赏析html网页模板代码下载
  • 支付宝网站开发流程网站的建设分析及意义
  • 韩国网站建站运城做网站方式方法
  • 做海报用的图片网站wordpress怎么不调用文字内容