1.基本数据类型 和包装类
基本数据类型 | 包装数据类型 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
2.自动装箱与自动拆箱
Integer num1=8;
int num2=num1;
自动装箱与拆箱:也是语法糖(底层还是依旧是手动装箱与拆箱)
3.包装类的常用操作
(1)包装类中的常量
MAX_VALUE/MIN_VALUE(在内存中的最大与最小)/SIZE(在内存中存储占多少位)/TYPE(对应的类型)
(2)包装类的构造器
Xxxx(xxxx value)如:Integer(int val)
构造器的作用:创建包装类对象
(3)基本类型和包装类型的转换
装箱:
Integer i1=new Integer(123);
Integer i1=Intege.valueOf(123);推荐 带有缓存
拆箱:
int val=i1.intvalue();
4.String和基本数据类型的转换
把String转换成Integer
方式一
Integer i=Integer.valueOf()
方式二
Integer i2=new Integer("123")
把包装类转换成String
String str=17+“”
把包装类转换成String
String str =任何对象.toString()
把String转换成基本数据类型
String input=“123456”;
int num=Integer.parseInt(input); // XXX.parseXXX()
5.boolean类型转换
boolean只认true/TRUE,其他都是false
6.包装类的缓存设计
Integer/Long/Short/Byte:缓存设计在(-128到127之间)直接取缓存
不在之间就new对象
Character:(0,127)缓存
7.包装类之间的比较使用equals()比较
8.Integer与int区别
(1)默认值:
int的默认值是0;
Integer的默认值为null
(2)包装类中有封装算法
package HelloWorld;
public class IntegerDome {
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(10));//十进制转2进制
System.out.println(Integer.toOctalString(10));//十进制转8进制
System.out.println(Integer.toHexString(10));//十进制转16进制
}
}
(3)在集合框架中,只能存储对象类型,不能存储基本类型数据
(4)Integer与int不是同种数据类型
(5)包装类存储在堆中,基本数据类型存储到栈中。