加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 交互 > 正文

40道Java基础常见面试题及详细答案

发布时间:2020-12-31 00:08:17 所属栏目:交互 来源:网络整理
导读:最近看到网上流传着各种面试经验及面试题,往往都是一大堆技术题目贴上去,但是没有答案。 为此我业余时间整理了40道Java基础常见的面试题及详细答案,望各路大牛发现不对的地方不吝赐教,留言即可。 八种基本数据类型的大小,以及他们的封装类 引用数据类型
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1
<div class="line number2 index1 alt1">2
<div class="line number3 index2 alt2">3
<div class="line number4 index3 alt1">4
<div class="line number5 index4 alt2">5
<div class="line number6 index5 alt1">6
<div class="line number7 index6 alt2">7
<div class="line number8 index7 alt1">8
<div class="line number9 index8 alt2">9
<div class="line number10 index9 alt1">10
<div class="line number11 index10 alt2">11
<div class="line number12 index11 alt1">12
<div class="line number13 index12 alt2">13
<div class="line number14 index13 alt1">14
<div class="line number15 index14 alt2">15
<div class="line number16 index15 alt1">16
<div class="line number17 index16 alt2">17
<div class="line number18 index17 alt1">18
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="java keyword">public?<code class="java keyword">static?<code class="java keyword">void?<code class="java plain">main(String[] args) {

list1 =??(); ? list2 =??(); ? 输出结果:true

上面的方法,做的事情就是,比较两个集合中的,实体类对象属性值,是否一致

OrderSum 不在比较范围内,因为没有重写它的,equals()和hashCode()方法

为什么要重载equal方法?

因为Object的equal方法默认是两个对象的引用的比较,意思就是指向同一内存,地址则相等,否则不相等;如果你现在需要利用对象里面的值来判断是否相等,则重载equal方法。

一般的地方不需要重载hashCode,只有当类需要放在HashTable、HashMap、HashSet等等hash结构的集合时才会重载hashCode,那么为什么要重载hashCode呢?

如果你重写了equals,比如说是基于对象的内容实现的,而保留hashCode的实现不变,那么很可能某两个对象明明是“相等”,而hashCode却不一样。

这样,当你用其中的一个作为键保存到hashMap、hasoTable或hashSet中,再以“相等的”找另一个作为键值去查找他们的时候,则根本找不到。

为什么equals()相等,hashCode就一定要相等,而hashCode相等,却不要求equals相等?

1、因为是按照hashCode来访问小内存块,所以hashCode必须相等。 2、HashMap获取一个对象是比较key的hashCode相等和equal为true。

之所以hashCode相等,却可以equal不等,就比如ObjectA和ObjectB他们都有属性name,那么hashCode都以name计算,所以hashCode一样,但是两个对象属于不同类型,所以equal为false。

为什么需要hashCode?

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

<div class="cnblogs_Highlighter sh-gutter">
<div id="highlighter_746140" class="syntaxhighlighter java">
<table border="0" cellspacing="0" cellpadding="0">