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

服务网点网站建设软件开发app制作公司有哪些

服务网点网站建设,软件开发app制作公司有哪些,自建网站网址,无锡网站托管一、equals 和 hashcode 1、简述 hashCode() 和 equals(Object obj) 的作用及其关系 hashCode() 方法用于获取对象的哈希码,即一个整数。这个哈希码在基于哈希的集合(如HashSet、HashMap等)中用于确定对象的存储位置。 equals(Object obj)…

一、equals 和 hashcode

1、简述 hashCode()equals(Object obj) 的作用及其关系

hashCode() 方法用于获取对象的哈希码,即一个整数。这个哈希码在基于哈希的集合(如HashSet、HashMap等)中用于确定对象的存储位置。

equals(Object obj) 方法用于比较两个对象是否相等。默认情况下,它比较的是对象的引用地址;但在自定义类中,通常会重写该方法以比较对象的内容。

这两个方法之间的关系是:如果两个对象通过 equals(Object obj) 方法比较是相等的,那么调用这两个对象中任一对象的 hashCode() 方法必须产生相同的整数结果。这是Java集合框架正常工作的基本要求。

2、为什么要在自定义类中同时重写 hashCode()equals(Object obj) 方法?

如果只重写 equals(Object obj) 方法而不重写 hashCode() 方法,那么在基于哈希的集合中,即使两个对象通过 equals(Object obj) 方法比较是相等的,但由于它们的哈希码不同,这些集合也可能无法正确地处理它们(如无法正确去重)。

因此,为了保证自定义对象在Java集合框架中的正确性,当重写 equals(Object obj) 方法时,通常也需要重写 hashCode() 方法,以确保 equals(Object obj) 相等的对象具有相同的哈希码。

3、请解释为什么hashCode()方法可能产生哈希碰撞,以及这是否会影响equals(Object obj)方法的正确性?

哈希碰撞是指不同的对象产生相同的哈希码。由于哈希码是一个整数,而整数的范围是有限的,而对象的数量可以是无限的,因此哈希碰撞是不可避免的。

哈希碰撞本身不会影响equals(Object obj)方法的正确性。equals(Object obj)方法用于比较对象的内容是否相等,而哈希码只是用于在集合中快速定位对象的一种机制。即使两个对象产生了哈希碰撞,只要它们的equals(Object obj)方法比较不相等,它们就不会被视为集合中的相同元素。

然而,哈希碰撞可能会影响基于哈希的集合的性能,因为它可能增加在集合中查找元素的时间复杂度。

4、在重写hashCode()方法时,有哪些注意事项?

在重写hashCode()方法时,应该确保在同一个Java应用程序执行期间,只要对象的equals比较中所用的信息没有被修改,那么对该对象多次调用hashCode方法必须始终如一地返回同一个整数。

如果两个对象通过equals(Object obj)方法比较是相等的,那么这两个对象的hashCode()方法必须产生相同的整数结果。

不要求如果两个对象通过equals(Object obj)方法比较是不相等的,那么调用这两个对象中任一对象的hashCode()方法必须产生不同的整数结果。但是,为不相等的对象产生不同整数结果可能会提高哈希表的性能。

二、String、StringBuilder、StringBuffer 的区别?

String 是只读字符串,也就是说 String 引用的字符串内容是不能被改变的。

StringBuffer/StringBuilder 类表示字符串对象可以直接修改。

三、抽象类和接口有什么区别?

抽象类和接口都不能够实例化,但是可以定义抽象和接口类型的引用。一个类如果继承了某个抽象类或者实现某个接口都需要对其中的抽象方法进行实现,否则该类仍然需要被声明为抽象类。

接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部是抽象方法。

四、在多线程情况下 SimpleDateFormat 是线程安全的吗?

在多线程情况下 DateFormat 的所有实现,包括 SimpleDateFormat 都不是线程安全的。如果不在线程安全的情况下使用,在解析或者格式化日期的时候,可能会会获得一个不正确的结果。最佳的时间的多线程的情况下使用的时间工具类是 joda-time

五、抽象类是什么?它和接口有啥区别?

接口用于规范,抽象类用于共性。声明方法的存在而不去实现它的类叫做抽象类。接口时抽象类的变体。在接口中,所有的方法都是抽象的。

http://www.dtcms.com/a/441621.html

相关文章:

  • 网站抓取QQ获取系统百度浏览器网站入口
  • 网站建设及规划wordpress后台自定义页面
  • 常用网站建设技术是什么厦门正规网站建设多少
  • 临沂网站建设中企动力网站系统维护一般多久
  • 郴州网站推广公司排名南宁博信网络技术有限公司
  • 怎么做下载网站网站开发包含的项目和分工
  • 网站宽度 1000px做外贸主要是哪些网站
  • 微信订阅号做微网站吗个人网站的版权怎么写
  • 重庆平台网站建设哪里有市场营销和网络营销
  • 烟台网站建设便宜臻动传媒微信备份wordpress
  • 网站备案完成建设部网站从哪登陆
  • 模板建站与仿站哪个更好安徽seo优化规则
  • 珠海华兴建设工程有限公司网站企业融资需求怎么写
  • 做一个简单的公司网站要多少钱it外包前景
  • 厦门网站建设网络推广建湖网站建设找哪家好
  • 哈尔滨网站建设价格低wordpress icp涵数
  • 网站建制作公司手机网站制作视频教程
  • 申请完域名如何建网站收录网站查询
  • 长春网站建设模板织梦怎么在本地编辑多个网站
  • 肥西县建设局官方网站wordpress 留言本插件
  • 网站建设项目实训报告国内优秀的设计网站
  • 绥化做网站布谷海南网站建设
  • 备案不关闭网站win10运行wordpress
  • 2019做网站seo行不行2023年没有封闭的网站有哪些
  • 什么叫网站建设方案书织梦网站模板安装教程
  • seo 网站标题字数国外网站排名 top100
  • 网站素材 下载东莞门户网站建设方案
  • 想做网站 优帮云网站地图模板下载
  • 建站公司 万维科技域名到期不续费会怎么样
  • 专业的网站建设报价北京律师网站建设推荐