#java面试题(带答案)
#八种基本数据类型的大小,以及他们的封装类
八种基本数据类型:int、short、float、double、long、boolean、byte、char。
封装类分别是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。

注意: boolean 单个是int 数组是byte
#Switch能否用string做参数
jdk7之前
switch 只能支持 byte、short、char、int 这几个基本数据类型和其对应的封装类型。
switch后面的括号里面只能放int类型的值,但由于byte,short,char类型,它们会?自动?转换为int类型(精精度小的向大的转化),所以它们也支持。
jdk1.7后
整形,枚举类型,字符串都可以。
其实,jdk1.7并没有新的指令来处理switch string,而是通过调用switch中string.hashCode,将string转换为int从而进行判断。
#equals与==的区别
public static void main(String[] args) {
String a = new String("ab"); // a 为一个引用
String b = new String("ab"); // b为另一个引用,对象的内容一样
String aa = "ab"; // 放在常量池中
String bb = "ab"; // 从常量池中查找
System.out.println(aa == bb); // true
System.out.println(a == b); // false,非同一对象
System.out.println(a.equals(b)); // true
System.out.println(42 == 42.0); // true
}
public static void main(String[] args) {
Object obj1 = new Object();
Object obj2 = new Object();
System.out.println(obj1.equals(obj2));//false
System.out.println(obj1==obj2);//false
obj1=obj2;
System.out.println(obj1==obj2);//true
System.out.println(obj2==obj1);//true
}
后续原文: ..
链接:https://juejin.im/post/5aa3ea686fb9a028c522cda5
来源:掘金