把八大基本数据类型封装到一个类中(包装类),并提供属性和方法。让我们更加方便的操作基本数据类型。但包装类的出现并不是为了取代基本数据类型,也取代不了。
包装类位于java.lang包中。
number 类
number数值类型是byte、double、float、int、long 和 short类的抽象父类,提供把包装类转化成基本数据类型的方法(xxxvalue)。
为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,java为每 一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是integer,从java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。
1 基本数据类型: boolean,char,byte,short,int,long,float,double 2 封装类类型:boolean,character,byte,short,integer,long,float,double
interger 是int基本数据类型的包装类,在integer内部封装了一个final int value的属性。
[1] 构造方法
1 public static void main(string[] args) { 2 // 【1】integer 属性 3 //system.out.println(integer.max_value); 4 //system.out.println(integer.min_value); 5 6 // 【2】构造方法 7 int a = 10; 8 string bstr = "20"; 9 integer i1 = new integer(a); 10 // 可能抛出numberformatexception异常 11 integer i2 = new integer(bstr); 12 system.out.println(i1.tostring()); 13 system.out.println(i2.tostring()); 14 }
[2] int<->integer<->string
1 public static void main(string[] args) { 2 3 // int->integer 4 integer i1 = new integer(10); 5 integer i2 = integer.valueof(20); 6 7 // integer->int 8 int a = i1.intvalue(); 9 10 // string->integer 11 integer i3 = new integer("30"); 12 integer i4 = integer.valueof("40"); 13 14 //integer->string 15 system.out.println(i3.tostring()); 16 17 18 // string->int 19 int b = integer.parseint("50"); 20 21 // int->string 22 string str = integer.tostring(10); 23 //string str2 = integer.tostring(8, 2); 24 //system.out.println(str2); 25 }
【3】comparaber接口
comparaber表示具有比较的能力,对象可以用来比较大小,此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序。
comparable 定义了a.compareto(b),返回值表示
a.compareto(b) |
返回值 |
排序 |
a < b |
负整数 |
升序 |
a = b |
0 |
相等 |
a > b |
正整数 |
降序 |
【2】integer的比较
integer i2 = new integer(20); integer i3 = new integer(10); system.out.println(i2.equals(i3)); system.out.println(i2.compareto(i3));
自动装箱
integer i = 10;
自动拆箱
i++;//因为i自动转换成int类型,所以可以进行自加1的运算
1 public static void main(string[] args) { 2 3 // integer i1 = new integer(10); 4 // 自动装箱 5 integer i2 = 20; // i2 = new integer(20); 6 system.out.println(i2.tostring()); 7 8 // 自动拆箱 9 integer i3 = new integer(30); 10 int a = i3; // i3.intvalue(); 11 }
注意:
[1]自动装箱和自动拆箱是jdk1.5
[2]不要过于频繁的使用拆装箱操作
如对本文有疑问, 点击进行留言回复!!
NullPointerException: Attempt to invoke virtual method ‘android.content.res.XmlResourceParser androi
关于启动appium-desktop,报错:Cannot extract apk info using apkanalyzer. Falling back to aapt. Original ....
Gradle 发布共享库——如何通过Gradle发布Android依赖库(aar)到 jitpack 公共仓库
Gradle 发布共享库——如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)
网友评论