1. 九种基本数据类型的大小,以及他们的封装类?
基本类型 | 大小(字节) | 默认值 | 封装类 |
byte | 1 | (byte)0 | Byte |
short | 2 | (short)0 | Short |
int | 4 | 0 | Integer |
long | 8 | 0L | Long |
float | 4 | 0.0f | Float |
double | 8 | 0.0d | Double |
boolean | - | false | Boolean |
char | 2 | \u0000(null) | Character |
void | - | - |
Void
|
基本数据类型与其对应的封装类由于本质的不同,具有一些区别:
- 基本数据类型只能按值传递,而封装类按引用传递。
- 基本类型在堆栈中创建;而对于对象类型,对象在堆中创建,对象的引用在堆栈中创建。基本类型由于在堆栈中,效率会比较高,但是可能会存在内存泄漏的问题。
-
- 2. Switch能否用string做参数?
-
在Java语言中Swith可以使用参数类型有:Only convertible int values, strings or enum variables are permitted
可以自动转换为整型的(byte,short,int),String类型,枚举类型。
Java中不能做为Switch参数的有boolean,float,double,long(不能直接转换为int啊)
-
3. equals与==的区别?
-
(1)使用==比较原生类型如:boolean、int、char等等,使用equals()比较对象。
-
(2)==返回true如果两个引用指向相同的对象,equals()的返回结果依赖于具体业务实现
-
(3)字符串的对比使用equals()代替==操作符
-
4. Object有哪些公用方法?
-
5. Java的四种引用,强弱软虚,用到的场景。
-
6. Hashcode的作用。