java-包装类

包装类

什么是包装类

包装类就是基本类型相对应的8个基本类型对象

包装类的作用

就是将基本数据类型转换成对象;包装类中有相对应的基本类型相关的常量和一些方法方便调用
8个基本类型对于的8个包装类

基本类型 包装类
byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double

包装类的基本使用

public class test {
     
 public static void main(String[] args) {
     
   Integer a = new Integer(3);//包装对象,在堆里生成
   Integer b = Integer.valueOf(9);//使用静态方法,将基本类型转化为包装对象
   
   //把包装对象转化成基本类型
   int c = a.intValue();
   double d = b.doubleValue();
   
   //把字符串转化为字符串包装类对象
   Integer e = new Integer("4517");
   Integer f = Integer.parseInt("54584");//这些字符串中不能有字母
   
   //把包装类对象转化为字符串
   String str  = f.toString();
   
   
   //Integer包装类中有int基本类型相关的常量和一些方法
   System.out.println("int类型最大的整数:"+Integer.MAX_VALUE);
   //int类型最大的整数:2147483647
 		}
}

包装类的自动装箱和拆箱

什么是自动拆箱,自动装箱?

  • 就是编辑器蜜糖,编辑器自己默认的调用包装类的静态方法。
  • 完成自动拆箱和包箱
public class testAutoBox {
     
public static void main(String[] args) {
     
	Integer a = 234;//自动装箱  Integer a = Integer.valueOf(234);
	int b = a; //自动 拆箱 。int b = a.intValue();
	
	//注意因为自动装箱,拆箱容易引发的错误。当对象为空时,不能调用方法
	Integer c = null;
	//if(c!=null){
     
	int d = c;//这句话会引发异常。自动拆箱,调用了:c.intValue()。但是c为null
	//}

	
	//Integer缓存[-128,127]之间的数
	/*
	 * 就是使得当创建[-128,127]之间的数为包装类时,他们都是一个对象,因为在Integer
	 * 包装类中有一个Integer数组cache[]已经缓存了[-127,128]之间的Ibteger对象
	 */
	Integer in1 = Integer.valueOf(128);
   }
}

java面试题
包装类和基本数据类型的选择?

我们知道正确的使用包装类,可以提供程序的执行效率,可以使用已有的缓存,一般情况下选择基本数据类型还是包装类原则有以下几个。

① 所有 POJO 类属性必须使用包装类;
② RPC 方法返回值和参数必须使用包装类;
③ 所有局部变量推荐使用基本数据类型。

你可能感兴趣的:(java学习,java)