2024年黑马Java基础班考试

黑马Java基础班考试www Jtheima cxxn 传智播 旗下 离 IT 效育品牌 黑马程序员 面试中常见 Java 面试题 Java 面试中常见面试问题 JDK 和 JRE 有什么区别 二二和 equals 的区别是什么 两个对象的 hashCode 相同 则 equalsQ 也一定为 true 对吗 final 在 Java 中有什么作用 Java 中的 Math round l 5 等于多少

大家好,我是讯享网,很高兴认识大家。

www Jtheima cxxn

传智播/旗下

离?IT效育品牌

【黑马程序员】面试中常见Java面试题

Java面试中常见面试问题:

JDK和JRE有什么区别?

二二和equals的区别是什么?

两个对象的hashCode()相同,则equalsQ也一定为true ,对吗?

final在Java中有什么作用?

Java 中的 Math. round(-l. 5)等于多少?

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

Java中操作字符串都有哪些类?它们之间有什么区别?

String str二丁与 String str=new String(i)一样吗?

如何将字符串反转?

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

Java面试中常见面试题答案:

JDK和JRE有什么区别?

JDK : Java Development Kit的简称,Java开辟工具包,提供了 Java的开辟环境和运 ^亍环境。

JRE : Java Runtime Environment的简称,Java运行环境,为Java的运行提供了所需 尔竟。

具体来说JDK其实包含了 JRE ,同时还包含了编译Java源码的编译器Javac z还包含了 不少Java程序调试和分析的工具。简单来说:如果你需要运行Java程序,只需安装JRE

就可以了,如果你需要编写Java程序,需要安装JDKO

==和equals的区别是什么?

==解读

对于基本类型和引用类型==的作用效果是不同的,如下所示:

传智Ml客01

传智Ml客01下

? *IT效育品牌

www itheima com I

基本类型:比较的是值是否相同;

引用类型:比较的是引用是否相同;

代码示例:

String x = string;

String y = string;

String z 二 new StringCstring);

System.out.println黑马Java基础班考试(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指向的是同一个引用,所以二二也是true ,而new String。方 法则重写开辟了内存空间,所以==结果为false ,而equals比较的向来是值,所以结 果都为trueo

equals解读

equals本质上就是==,只无非String和Integer等重写了 equals方法,把它变成为 了值比较。看下面的代码就明白了。

首先来看默认情况下equals比较一个有相同值的对象,代码如下:

class Cat {

public Cat(String name) { = name;

)

private String name;

public String getName() {

return name;

www itheima com

)

public void setName(String name) {

= name;

)

)

Cat cl = new Cat(“王磊)

Cat c2 = new Cat(王磊)

System.out.println(cl.equals(c2)); // false

输出结果出乎我们的意料,居然是false ?这是怎么回事,看了 equals源码就知道了,源 码如下:

public boolean equals(Object obj) {

return (this == obj);

}

原来equals本质上就是二二。

那问题来了,两个相同值的String对象,为什么返回的是true ?代码如下:

String si = new String(老王”);

String s2 = new String(老王);

System.outprintln(sl.equals(s2)); // true

同样的,当我们进入String的equals方法,找到了答案,代码如下:

public boolean equals(Object anObject) {

if (this == anObject) {

return true;

)

if (anObject instanceof String) {

String anotherString = (String)anObject;

int n = value.length;

if (n == anotherString.value.length) {

www itheima com

char vl[] = value;

char v2[] = anotherString.value;

小讯
上一篇 2024-12-26 12:59
下一篇 2024-12-31 22:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/6876.html