Java面经(大厂面试必备)100题.pdfVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Java面经(大厂面试必备)100题

一一、、基基础础篇篇

1、什么是StringJoiner?

【【仅仅供供参参】】

StringJoiner是Java8新增的一个API,它基于StringBuilder实现,用于实现对字符串之

间通过分隔符拼接的场景。

StringJoiner有两个构造方法,第一个构造要求依次传入分隔符、前缀和后缀。第二个构造则

只要求传入分隔符即可(前缀和后缀默认为空字符串)。

2、String属于基础的数据类型吗?

【【仅仅供供参参】】

String不属于基础类型,基础类型有8种:byte、boolean、char、short、int、float、

long、double,而String属于对象。

3、两个对象的hashCode()相同,则equals()是否也一定为true?

【【仅仅供供参参】】

equals与hashcode的关系:

如果两个对象调用equals比较返回true,那么它们的hashCode值一定要相同;

如果两个对象的hashCode相同,它们并不一定相同。

hashcode方法主要是用来提升对象比较的效率,先进行hashcode()的比较,如果不相同,那就

不必在进行equals的比较,这样就大大减少了equals比较的次数,当比较对象的数量很大的时

候能提升效率。

之所以重写equals()要重写hashcode(),是为了保证equals()方法返回true的情况下hashcode

值也要一致,如果重写了equals()没有重写hashcode(),就会出现两个对象相等但hashcode()

不相等的情况。这样,当用其中的一个对象作为键保存到hashMap、hashTable或hashSet中,再

以另一个对象作为键值去查找他们的时候,则会查找不到。

4、final在Java中有什么作用?

【【仅仅供供参参】】

final修饰的类叫最终类,该类不能被继承。

final修饰的方法不能被重写。

final修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。

5、String类的常用方法都有那些?

【【仅仅供供参参】】

indexOf():返回指定字符的索引。

charAt():返回指定索引处的字符。

第1/25页

replace():字符串替换。

trim():去除字符串两端空白。

split():分割字符串,返回一个分割后的字符串数组。

getBytes():返回字符串的byte类型数组。

length():返回字符串长度。

toLowerCase():将字符串转成小写字母。

toUpperCase():将字符串转成大写字符。

substring():截取字符串。

equals():字符串比较。

6、String类可以继承吗?

【【仅仅供供参参】】

不行。String类使用final修饰,无法被继承。

7、Java中的Math.round(-1.5)等于多少?

【【仅仅供供参参】】

等于-1,因为在数轴上取值时,中间值(0.5)向右取整,所以正0.5是往上取整,负0.5

是直接舍弃。

8、和的区别?

【【仅仅供供参参】】

:逻辑与运算符。当运算符左右两边的表达式都为true,才返回true。同时具有短路性,

如果第一个表达式为false,则直接返回false。

:逻辑与运算符、按位与运算符。

按位与运算符:用于二进制的计算,只有对应的两个二进位均为1时,结果位才为1,否则为

0。

逻辑与运算符:在用于逻辑与时,和的区别是不具有短路性。所在通常使用逻辑与运算

符都会使用,而更多的适用于位运算。

9、面向对象的三个基本特征?

【【仅仅供供参参】】

面向对象的三个基本特征是:封装、继承和多态。

继承:让某个类型的对象获得另一个类型的对象的属性的方法。继承就是子类继承父类的特征

和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类

具有父类相同的行为。

封装:隐藏部分对象的属性和实现细节,对数据的访问只能通过外公开的接口。通过这种方

式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使

用了对象的私有部分。

多态:对于同一个行为,不同的子类对象具有不同的表

文档评论(0)

苏可壳 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档