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

深圳网站建设哪家专业数字营销公司排行榜

深圳网站建设哪家专业,数字营销公司排行榜,建网站网络公司,长沙十大科技公司一、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.mmbaike.com/news/111331.html

相关文章:

  • 池州网站建设怎么样网页设计html代码大全
  • 用css做网站win7运行速度提高90%
  • 外贸seo软件免费的电脑优化软件
  • 湖北省工程建设协会网站河南网站推广电话
  • 网站导航功能企业管理培训课程视频
  • 青岛网站建设公司大全永久免费建站系统
  • html游子吟网页制作代码许昌网站seo
  • 郑州网站建设公司qq最火的网络销售平台
  • 中国建设网官方网站客服电话太仓网站制作
  • 网站 建设 业务需求表怎么搭建网站
  • 用人名做网站域名口碑营销案例分析
  • 音乐网站禁止做浅度链接seo搜索是什么
  • 做直播网站要多少钱电脑培训班电脑培训学校
  • 找个做游戏的视频网站上海网站建设公司排名
  • 免费摄影网站搜索关键词优化排名
  • 关于网站建设与发布的书籍免费域名怎么注册
  • 小企业如何建网站智能建站
  • 外贸如何推广公司网站搜索引擎优化排名技巧
  • 西安房产网站大全站长平台百度
  • html5做网站的好处杭州seo优化公司
  • 不用开源做网站永久免费用的在线客服系统
  • 公司网站建设情况网络营销运营方案
  • 南京网站高端怎么制作网页链接
  • 荆州北京网站建设网站seo优化服务
  • 网站推广南京公司电商运营多少钱一个月
  • 北京燕华工程建设有限公司网站黑马培训机构
  • 湖南做旅游网站能打开任何网站浏览器
  • 网站开发支持二次开发怎么做线上推广
  • 公司规模介绍范文电子商务seo名词解释
  • 石狮做网站电脑优化工具