登录  /  注册
首页 > Java > java教程 > 正文
primitive主数据类型的包装类
巴扎黑
发布: 2016-12-02 09:29:58
原创
1258人浏览过

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型变量。
当然不只是这些用处。
还可以向ArrayList<Integer>中添加元素时直接添加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类。其他几个包装类也大都如此。


来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学