首页  >  文章  >  Java  >  primitive主数据类型的包装类

primitive主数据类型的包装类

巴扎黑
巴扎黑原创
2016-12-02 09:29:581572浏览

JAVA在5.0版本之后之后给每一个primitive主数据类型(除了char)都准备了一个包装类, 
int→Integer;long→Long;byte→Byte;short→Short;float→Float; 
double→Double;boolean→Boolean; 
包装类有什么作用呢? 
包装类的作用就是将一个值传入包装类的构造函数,这样就能创建出一个包装类的对象。而且包装类还具有自动装箱和自动拆包的功能。 
以下仅以Integer举例,例如: 
Integer d=3;//自动装箱,即可以用int值来构建一个对象并指向引用变量。 
int d=new Integer(123);//自动拆包,将对象的实例变量值直接赋给int型变量。 
当然不只是这些用处。 
还可以向ArrayListc0f559cc8d56b43654fcbe4aa9df7b4a中添加元素时直接添加int型的变量; 
如果某些方法的参数是某种包装类型,则可以直接传入相对应的primitive主数据类型;方法的返回值同样可以; 
还有就是条件判断语句,也可以用Boolean的引用来判断。 
当然在数值运算的时候也可以: 
int a=new Integer(2)+3;//也是可以运行的。 

需要特别注意的是Integer的自动装箱的一个小知识,   

Integer a=new Integer(127);  
Integer b=(127);  
System.out.println(a==b);  
System.out.println(a.equals(b));

结果为false,true。但是当  

Integer c=127;  
Integer d=127;  
System.out.println(a==b);  
System.out.println(a.equals(b));

结果却是true,true。 
会出现这种情框是因为,在自动装箱时如果创建一个Integer对象传入的值小于128的话,在创建第二个对象并且与第一个对象传入的值相等,那么第二个对象的应用变量会直接指向创建的第一个对象,而不会再创建一个新的对象。 
类中一般都会有方法,java定义的包装类中也有许多方法来运用, 
以Integer例列举一些重要的静态方法,也就是可以直接以Integer调用的方法。 
将一段字符串解码成为一个Integer内的实例变量值, decode(String st) 
讲一段字符串解析为一个int值, Integer.parseInt(String,int );//String为传入的数字型字符串,int为所传入的字符串的进制,该方法返回的是一个十进制的int值,例如:   

System.out.println(d.parseInt("4d", 16));  

返回的是77. 
还可以翻过来讲int或Integer转变为String: 
int e=3; 或者 Integer.toString(new Integer(22)); 
Integer.toString(e); 
还有很多方法,具体可以查看API中的java.lang.Integer类。其他几个包装类也大都如此。


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn