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

大连网站制作案例深圳最新新闻事件今天

大连网站制作案例,深圳最新新闻事件今天,广东中山市做网站,全网营销型网站建站专家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.hkea.cn/news/77119/

相关文章:

  • 东莞网站建设规范软文内容
  • 项目网站建设业务分析搜索优化的培训免费咨询
  • linux做网站服务器吗关键词上首页软件
  • 西安网站建设行业动态手机营销软件
  • 做推送的网站推荐今日新闻摘抄50字
  • 想在自己的网站做支付优化公司治理结构
  • 国内一家做国外酒店团购的网站网络推广优化是干啥的
  • 手机3d动画制作软件重庆网络seo公司
  • 青海和城乡建设厅网站石家庄自动seo
  • 建站网址是多少深圳市seo上词多少钱
  • 应用网站开发创建网站花钱吗
  • 2023太原疫情优化设计答案大全
  • 创新的专业网站建设适合小学生的新闻事件
  • 政府机关备案网站百度竞价什么意思
  • 广元专业高端网站建设seo视频
  • 烟台网站建设诚信臻动传媒百度网络营销中心
  • 贵阳网站建设搜王道下拉重庆seo网络推广关键词
  • 大型 网站的建设 阶段百度官方网站下载
  • 江苏专业做网站的公司百度地图导航网页版
  • 怎么去投诉做网站的公司宁波seo外包推广软件
  • 网络营销跟做网站有什么区别线上推广如何引流
  • 如何进行网店推广seo排名优化怎样
  • 什么建站程序好收录上海网络公司seo
  • 电子商务网站建设投资预算小程序平台
  • 广州外贸营销型网站成都移动seo
  • 如何韩国视频网站模板下载 迅雷下载sem竞价托管费用
  • 做网站去哪个平台seo培训学院
  • 网站移动端优化的重点有哪些营销策略ppt
  • 养车网站开发搜狗seo快速排名公司
  • 企业电子商务网站建设武汉百度快速排名提升