- 1
- 0
- 约7.32万字
- 约 59页
- 2023-09-22 发布于湖北
- 举报
Java⾯试题及答案整理 (2021最新版)
Java⾯试题及答案整理
⼀、Java 基础
1. JDK 和 JRE 有什么区别?
JDK:Java D v lopm nt Kit 的简称,j ava 开发⼯具包,提供了 j ava 的开发环境和运⾏环境。
JRE:Java Runtim Environm nt 的简称,j ava 运⾏环境,为 j ava 的运⾏提供了所需环境。
具体来说 JDK 其实包含了 JRE,同时还包含了编译 j ava 源码的编译器 j avac,还包含了很多 j ava 程序调试和分析的⼯具。简单来
说 :如果你需要运⾏ j ava 程序,只需安装 JRE 就可以了,如果你需要编写 j ava 程序,需要安装 JDK。
2. == 和 equals 的区别是什么?
== 解读
对于基本类型和引⽤类型 == 的作⽤效果是不同的,如下所⽰ :
基本类型 :⽐较的是值是否相同;
引⽤类型 :⽐较的是引⽤是否相同;
代码⽰例 :
String x = string;
String y = string;
String z = new String(string) ;
System.out.println(x==y) ; // true
System.out.println(x==z) ; // false
System.out.println(x.equals(y)) ; // true
System.out.println(x.equals(z)) ; // true
代码解读 :因为 x 和 y 指向的是同⼀个引⽤,所以 == 也是 tru ,⽽ n w String()⽅法
则重写开辟了内存空间,所以 = = 结果为 fals ,⽽ quals ⽐较的⼀直是值,所以结果都为 tru
quals 解读
quals 本质上就是 ==,只不过 String 和 Int g r 等重写了 quals ⽅法,把它变成了值⽐较。看下⾯的代码就明⽩了。
⾸先来看默认情况下 quals ⽐较⼀个有相同值的对象,代码如下 :
lass Cat {
publi Cat(String name) {
= name;
}
private String name;
publi String getName() {
return name;
}
publi void setName(String name) {
= name;
}
}
Cat 1 = new Cat(王磊) ;
Cat 2 = new Cat(王磊) ;
System.out.println( 1.equals( 2)) ; // false
输出结果出乎我们的意料,竟然是 fals ?这是怎么回事,看了 quals 源码就知道了,源码如下 :
publi boolean equals(Obje t obj) {
return (this == obj) ;
}
原来 quals 本质上就是 ==。
那问题来了,两个相同值的 String 对象,为什么返回的是 tru ?代码如下 :
String s1 = new String(⽼王) ;
String s2 = new String(⽼王) ;
System.out.println(s1.equals(s2)) ; // true
同样的,当我们进⼊ String 的 quals ⽅法,找到了答案,代码如下 :
publi boolean equals(Obje t anObje t) {
if (this == anObje t) {
return true;
}
if (anObje t instan eof String) {
String anotherString = (String)anObje t ;
int n = value.length;
if (n == anotherString.value.length) {
har v 1[] = value;
har v2[] =
您可能关注的文档
- 染发知识完整版.ppt
- 江阴华新特殊合金材料有限公司介绍企业发展分析报告.docx
- 德国高中多元化.pdf
- 材料科学基础复习题及答案.doc
- 人身伤亡应急演练方案.docx
- 五四青年节演讲稿(警察)10篇-精选范文.doc
- 数据库系统概论试题及答案9.doc
- 北师大版二年级数学下册期末试卷及答案.docx
- 幼儿园帮扶工作总结(通用15篇).docx
- 暑期安全教育PPT.pptx
- 2026重庆市中医骨科医院第一批编外聘用人员招聘护理岗位9人备考题库带答案详解.docx
- 2026重庆巴岳保安服务有限公司招聘1人备考题库带答案详解.docx
- 2026重庆巴岳保安服务有限公司招聘1人备考题库及答案详解一套.docx
- 2026重庆巴岳保安服务有限公司招聘1人备考题库含答案详解.docx
- 江苏省徐州市2023-2024学年高二上学期1月期末考试政治 (解析版).docx
- 2026重庆巴岳保安服务有限公司派往双桥经开区某机关事业单位行政辅助人员招聘1人备考题库及参考答案详.docx
- 婴童用品全生命周期质量安全闭环治理体系.docx
- 2026重庆市中铁长江交通设计集团有限公司社会招聘2人备考题库带答案详解.docx
- 2026重庆市中铁长江交通设计集团有限公司社会招聘2人备考题库及答案详解一套.docx
- 2026重庆市中铁长江交通设计集团有限公司社会招聘2人备考题库附答案详解.docx
原创力文档

文档评论(0)