包装类

包装类:对基本数据类型的包装,包装成引用数据类型

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

  • 7种包装类(Character除外)都有接收字符串类型的构造方法
  • Boolean 字符串参数如果不是true,比如abc,则默认为false

数据之间的转换

 1 //      String --> int
 2         int a = Integer.parseInt("123");
 3 //      int--> Integer
 4         Integer a1 = Integer.valueOf(123);
 5 //      String --> Integer 
 6         Integer a2 = Integer.valueOf("123");
 7 //      Integer  --> int
 8         int a3 = i1.intValue();
 9 //      Integer -- > String
10         String s =i1.toString();

自动  装箱/拆箱 

1         Integer i = 10 ;
2         int i2  = new Integer(10) ;
3         
4         method(123);// 自动把123转成Integer类型123

面试题:

1 Integer i1 = 1000 ;
2 Integer i2 = 1000 ;
3 Integer i3 = 10 ;
4 Integer i4 = 10 ;
5 System.out.println(i1 == i2); // false  
6 System.out.println(i3== i4); //  true

 Integer 在类加载的时候会先在静态区中初始化好-128 127 之间的数值(由静态类IntegerCache 去实现),如果在这个范围则直接重复使用,否则在堆中new一个Integer
10:true 由于10在范围内,所以使用共用静态区中的Integer
1000:false 由于1000在范围外,所以在堆中重新new一个Integer

原文地址:https://www.cnblogs.com/sunzhiqiang/p/11729041.html