JDK 和 JRE 有什么区别?
JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。
JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK
其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析
的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 java 程序,
需要安装 JDK。
==和 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 指向的是同一个引用,所以==也是 true,而 new String()方法则重写开辟了内
存空间,所以==结果为 false,而 equals 比较的一直是值,所以结果都为 true。
equals 解读
equals 本质上就是==,只不过 String 和 Integer 等重写了 equals 方法,把它变成了值比较。看下面的
代码就明白了。
首先来看默认情况下 equals 比较一个有相同值的对象,代码如下:
class Cat {
public Cat(String name){
this. name =name;
}
private String name;