- 装箱:基本数据类型转为包装类
- 拆箱:包装类转为基本数据类型
- jdk1.5(即jdk5.0)之后的版本都提供了自动装箱和自动拆箱功能
-
基本数据类型的包装类

-
举两个例子,看一下
1 public class Demo01 {
2
3 public static void main(String[] args) {
4
5
6
7 int i = 3;//基本数据类型
8 Integer i1 = new Integer(i);//包装类 装箱
9 System.out.println(i);
10 System.out.println(i1);
11
12
13 //把字符串的100 转成 数字的100
14 String s = "100";
15 //String s = "abc"; 错误的, java.lang.NumberFormatException
16 Integer i2 = new Integer(s);
17 System.out.println(i2);
18
19
20 int i3 = i1.intValue();//拆箱
21 System.out.println(i3);
22
23
24 // s -- > int
25 int i4 = Integer.parseInt(s);//将字符串转换为数字的方式
26 System.out.println(i4);
27
28
29
30 //jdk 1.5 后 实现自动的装箱和拆箱
31 int j = 5;
32
33 Integer j1 = j; // 自动装箱 //Integer j3 = new Integer(j);
34
35 int j2 = j1; // 自动拆箱
36
37
38 //打印int类型的最大值和最小值
39 System.out.println(Integer.MAX_VALUE);
40 System.out.println(Integer.MIN_VALUE);
41
42
43 //进制转换
44 //十进制转十六进制
45 System.out.println(Integer.toHexString(1000));
46 //十进制转八进制
47 System.out.println(Integer.toOctalString(9));
48 //十进制转二进制
49 System.out.println(Integer.toBinaryString(3));
50
51
52
53 Integer ii1 = new Integer(1234);//堆内存中取
54 Integer ii2 = 1234;//去方法区中找
55 int ii3 = 1234; //ii1 拆箱 int
56
57 System.out.println(ii1 == ii3);//T
58
59 //虽然属性值相同, 但是引用的地址不同, “==” 比较的是引用的地址
60 System.out.println(ii1==ii2);//F
61
62 //Integer 类中重写了equals方法, 比较的是属性值
63 System.out.println(ii1.equals(ii2));//T
64
65
66 //byte [-128 - 127]
67
68 Byte b1 = -123;
69 Byte b2 = -123;
70
71 System.out.println(b1 == b2);
72 System.out.println(b1.equals(b2));
73
74
75
76 }
1 public class Demo02_Character {
2
3 public static void main(String[] args) {
4
5 System.out.println((int)'1');
6
7 char c1 = 'A';
8 char c2 = 49;
9 System.out.println("c2 = " + c2);
10
11 Character c3 = c1; //Character c4 = new Character(c1);
12
13 System.out.println(Character.isDigit(c1));//判断字符是否为数字 F
14 System.out.println(Character.isLetter(c1));//判断字符是否为字母 T
15 System.out.println(Character.isLowerCase(c1));//判断是否为小写字母 F
16 System.out.println(Character.isUpperCase(c1));//判断是否为大写字母 T
17
18 System.out.println(Character.toLowerCase('C'));//大写转小写 c
19 System.out.println(Character.toUpperCase('a'));//小写转大写 A
20
21 }
-
对于byte/short/long/float/double和Integer(int)类用法类似