- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Java大厂面试必备
一一、、基基础础篇篇
1、什么是StringJoiner?
【【仅仅供供参参考考】】
StringJoiner是Java8新增的一个API,它基于StringBuilder实现,用于实现对字符串之
间通过分隔符拼接的场景。
StringJoiner有两个构造方法,第一个构造要求依次传入分隔符、前缀和后缀。第二个构造则
只要求传入分隔符即可(前缀和后缀默认为空字符串)。
2、重载(Overload)和重写(Override)的区别?
【【仅仅供供参参考考】】
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现
的是运行时的多态性。
重载:一个类中有多个同名的方法,但是具有有不同的参数列表(参数类型不同、参数个数不
同或者二者都不同)。
重写:发生在子类与父类之间,子类对父类的方法进行重写,参数都不能改变,返回值类型可
以不相同,但是必须是父类返回值的派生类。即外壳不变,核心重写!重写的好处在于子类可
以根据需要,定义特定于自己的行为。
3、final在Java中有什么作用?
【【仅仅供供参参考考】】
final修饰的类叫最终类,该类不能被继承。
final修饰的方法不能被重写。
final修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。
4、String类的常用方法都有那些?
【【仅仅供供参参考考】】
indexOf():返回指定字符的索引。
charAt():返回指定索引处的字符。
replace():字符串替换。
trim():去除字符串两端空白。
split():分割字符串,返回一个分割后的字符串数组。
getBytes():返回字符串的byte类型数组。
length():返回字符串长度。
toLowerCase():将字符串转成小写字母。
toUpperCase():将字符串转成大写字符。
substring():截取字符串。
第1/25页
equals():字符串比较。
5、两个对象的hashCode()相同,则equals()是否也一定为true?
【【仅仅供供参参考考】】
equals与hashcode的关系:
如果两个对象调用equals比较返回true,那么它们的hashCode值一定要相同;
如果两个对象的hashCode相同,它们并不一定相同。
hashcode方法主要是用来提升对象比较的效率,先进行hashcode()的比较,如果不相同,那就
不必在进行equals的比较,这样就大大减少了equals比较的次数,当比较对象的数量很大的时
候能提升效率。
之所以重写equals()要重写hashcode(),是为了保证equals()方法返回true的情况下hashcode
值也要一致,如果重写了equals()没有重写hashcode(),就会出现两个对象相等但hashcode()
不相等的情况。这样,当用其中的一个对象作为键保存到hashMap、hashTable或hashSet中,再
以另一个对象作为键值去查找他们的时候,则会查找不到。
6、Java的特点?
【【仅仅供供参参考考】】
Java具有平台独立性和移植性。
Java有一句口号:Writeonce,runanywhere,一次编写、到处运行。这也是Java的魅力所
在。而实现这种特性的正是Java虚拟机JVM。已编译的Java程序可以在任何带有JVM的平台上运
行。你可以在windows平台编写代码,然后拿到linux上运行。只要你在编写完代码后,将代码
编译成.class文件,再把class文件打成Java包,这个jar包就可以在不同的平台上运行了。
Java具有稳健性。
Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的
方法声明,它不支持C风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导
致更可靠的程序。
异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信
号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢
复的任务。
7、Stringstr=i与Stringstr=newString(i)一样吗?
【【仅仅供供参参考考】】
不
文档评论(0)