【4】包装类 拆箱和装箱 自动拆箱和装箱 String类型和基本数据类型的转换

包装类

基本数据类型的数据,使用起来非常方便,但是没有对应的方法来操作这些数据

所以我们可以使用一个类,把基本数据类型的数据包装起来,这个类叫包装类

在包装类中可以定义一些方法,用来操作基本类型的数据

 | 基本类型    | 对应的包装类(位于java.lang包中) |
| -------  | --------------------- |
| byte    | Byte                  |
| short   | Short                 |
| int       | **Integer**         |
| long    | Long                  |
| float    | Float                  |
| double| Double               |
| char    | **Character**     |
| boolean | Boolean           |

 装箱与拆箱

                /*
		 * 装箱:将基本数据类型转换成包装类
		 * 	 	1.构造方法 :
		 * 			Integer(int value)
		 * 			Integer(String value)"123"对 "a"错
		 * 		2.静态方法
		 * 		    valueOf(int i)
		 * 			valueOf(String i)
		 * */
		Integer in1 = new Integer(1);//此方法过时了
		System.out.println(in1);
		
		Integer in2 = new Integer("1");//此方法过时了
		System.out.println(in2);
		
		Integer in3 = Integer.valueOf(2);
		System.out.println(in3);
		
		Integer in4 = Integer.valueOf("3");
		System.out.println(in4);
                /*
		 * 拆箱:在包装类中取出基本类型的数据 包装类-->基本数据类型
		 * 		成员方法 :intValue
		 * */
		Integer valueOf = Integer.valueOf(4);
		int i = valueOf.intValue();
		System.out.println(i);

 自动装箱和拆箱

JDK1.5之后出现的新特新

                /*
		 * 自动装箱:直接把int类型的整数赋值给包装类
		 * */
		Integer i =1;//就相当于Integer i = new Integer(1);
		System.out.println(i);
                /*
		 * 自动拆箱:c是包装类,无法直接参与运算,可以自动转换成基本数据类型的数据,再参与运算
		 * */
		Integer c=2;
		Integer b=c+2;//相当于c.intValue+2=4 Integer b = new Integer(4);
		System.out.println(b);

 基本类型与字符串之间的转换

                /*
		 * 基本数据类型转换String 总共三种
		 * 1.基本类型数据的值+"" [常用]
		 * 2.使用包装类的方法 toString 
		 * 3.使用String类中的静态方法 valueOf
		 * */
		String m=100+"";
		System.out.println(m+200);    //100200
		
		String string = Integer.toString(100);
		System.out.println(string+200);  //100200
		
		String string2 = String.valueOf(100);
		System.out.println(string2+200);  //100200
                /*
		 * String类型转换成基本数据类型
		 * 除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型
		 * */
		int j = Integer.parseInt("100");
		System.out.println(j+200); //300

猜你喜欢

转载自blog.csdn.net/dyt998/article/details/112698543