电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

JAVA包装类及其用法

14页
  • 卖家[上传人]:鲁**
  • 文档编号:484576628
  • 上传时间:2023-12-28
  • 文档格式:DOCX
  • 文档大小:75.03KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、我们在前面的文章中详细的写了关于类,对象的基本语法,JAVA也提供了一些高 级类特性。JAVA为8个基本类型提供了对应的包装类,通过这些包装类可以把8个基本类型 的值包装成对象使用,JDK1.5提供了自动装箱和自动拆箱,允许把基本类型值直接赋给对 应的包装类引用变量,也允许把包装类对象直接赋给对应的基本类型变量。JAVA提供了 final关键字来修饰变量,方法和类,系统不允许为final变量重新 赋值,子类不允许覆盖父类的final方法,final类不能派生子类。通过使用final关键字,允 许JAVA实现不可变类,不可变类会让系统更加安全.abstract和interface两个关键字分别用于定义抽象类和接口,抽象类和接口都是从 多个子类中抽象出来的共同物征。但抽象类主要作为多类类的模板,而接口则定义了多类应 该遵守的规范。enum关键字则用于创建枚举类,枚举类是一种不能自由创建对象的类,枚 举类的对象在定义类时已经固定下来。枚举类特别适合定义像行星,季节这样的类,它们能 创建的实例是有限且确定的。我们现在先看下基本数据类型的包装类JAVA是面向对象的编程语言,但它也包含了8种基本数

      2、据类型,这8个基本数据类型 不支持面向对象的编程机制,基本数据类型的数据也不具备对象”的特性:没有属性,方法 可以被调用。JAVA之所以提供这8种基本数据类型,主要是为了照顾程序员传统的习惯。这8种基本数据类型带来了一定的方便之处,例如可以进行简单,有效的常规数据处理。 但在某些时候,基本数据类型就有一些制约,例如所有引用类型的变量都继承了 Object类, 都可当成Object类型变量使用。但基本数据类型的变量就不可以,如果有个方法需要Object 类型的参数,但实际需要的值却是2, 3等,这可能就比较难以处理。为了解决8个基本数据类型的变量不能当成Object类型变量使用的问题,JAVA提供了 包装类(Wrapper Class)的概念,为了8个基本数据类型分别定义了相应的引用类型,并称 之为基本数据类型的包装类。描述了基本数据类型和包装类之间的对应关系:表足1基本数据类型和包装类的对应基本数摒炎型byleByteshortShortmtlitterlongLfiBgChaiwtrrfloatFIdeudoubleDoublebooleanBodIkui从表6.1可以看出,除了 i

      3、nt和char两个有点例外之外,8个基本类型对应的包装类都是将其 首字母大写即可。把基本数据类型变量包装成包装类实例是通过对应包装类似构造器来实现的,不仅如此,8 个包装类中除了 Character之外,还可以通过传入一个字符串参数来构建包装类对象。那么我们该如何把基本类型变量转换成对应包装类对象,以及如何把一个字符串包装成包装 类对象呢?看代码:public class Primitive2Wrapperpublic static void main(String args)boolean b1 = true;通过构造器把b1基本类型变量包装成包装类对象Boolean blobj = new Boolean(b1);int it =5;通过构造器把it基本类型变量包装成包装类对象Integer itobj = new Integer(it);把一个字符串转换成Float对象Float f1 = new Float(4.56);把一个字符串转换成Boolean对象Boolean bobj = new Boolean(false);下面程序运行时将出现java.lang.NumberFo

      4、rmatException异常/Long lobj = new Long(ddd);取出Boolean对象里的boolean变量 boolean bb = bobj.booleanValue();取出Integer对象里的int变量int i = itobj.intValue();取出Float对象里的float变量float f = f1.floatValue();上面的程序分别可以把true,5等基本类型变量包装成包装类对象。除此之外,上面程序还通 过向包装类构造器里传入一个字符串参数,分别利用4.56,false等字符串为创建包装类对 象。在上面程序的最后一行:Long lObj = new Long(ddd);,这行代码试图把ddd字符串转 换成Long类型变量,这行代码编译时没有问题,但运行时会引发 java.lang.NumbwrFormatException 异常。当试图使用一个字符串来创建Byte ,Short ,Integer,Long,Float,和Double等包装类对象 时,如果传入的字符串不能成功转换成对应基本类型变量,则会引发 java.lang.Numbe

      5、rFormatException 异常。如果试图使用一个字符串来创建Boolean对象时,如果传入的字符串是“true”或此字符串 不同字母的大小写变化形式,如True,都将创建true对应的Boolean对象;如果传入其他 字符串,则会创建false对应的Boolean对象。我们可以看出基本类型变量和包装类对象的关系:iliinew WrapperCiass(pnmitive)feiMISilWrapperinstance.xxxValueQi图6基本类型变蛍和包装类对象之间的转换从图中我们可以看出:JAVA提供的基本类型变量和包装类对象之间转换有点繁琐,但从 JDK1.5之后就清除了,JDK1.5提供了自动装箱(Autoboxing)和自动拆箱(AutoUnboxing)功 能,所谓自动装箱,就是可以把一个基本类型变量直接赋给对应的包装类变量,或者赋给 Object变量(Objectj是所有类的父类,子类对象可心直接赋给父类变量)自动拆箱则与之 相反,允许直接把包装类对象直接赋给一个对应的基本类型变量。看代码:public class AutoBoxingUnboxingpubli

      6、c static void main(String args)直接把一个基本类型变量赋给Integer对象Integer inobj = 5;直接把一个boolean类型变量赋给一个object类型的变量Object boolobj = true;直接把一个Integer对象赋给int类型的变量int it = inobj;if(boolobj instanceof Boolean)先把object对象强制类型转换为Boolean类型,再赋给boolean变量boolean b = (Boolean)boolobj;System.out.println(b);编译结果为:C: MJsersAdninistratorDesktopcodes066.ljauac AutoBoxingUnboxing.JavaC: MJsersAdministratorDesjaua AutoBoxingUnboxing true我们可以知道,当JDK提供了自动装箱和自动拆箱后,大大简化了基本类型变量和包装类 对象之间的转换过程。值得指出的是,进行自动装箱和自动拆箱时必须注意类型匹配,例如 Integer只

      7、能自动拆箱成int类型的变量,不要试图拆箱成boolean类型的变量;与之在似的 是, Int类型的变量只能自动装箱成Integer对象(即使赋给Object类型的变量,那只是利用 了 JAVA的向上自动转型特性),不要试图装箱Boolean对象。除此之外包装类还可实现基本类型变量和字符串之音的转换,除了 Character之外的怕用包装类都提 供了一个parsexxx(String s)静态方法,用于将一个特定字符串转换成基本类型变量;除此之 外,在String类里也提供了多个重载valueOf()方法,用于将基本类型变量转换成字符串, 看代码: public class Primitive2Stringpublic static void main(String args)String intStr = 123;把一个特定字符串转换成int变量int it = Integer.parseInt(intStr); System.out.println(it 的结果是:+it);String floatStr = 4.56;把一个特定字符串转换成float变量 float ft = F

      8、loat.parseFloat(floatStr);System.out.println(ft);把一个float变量转换成string变量 String ftStr = string.valueOf(2.345f);System.out.println(ftStr);把一个double变量转换成String变量 String dbStr = string.valueOf(3.344);System.out.println(dbStr);把一个boolean变量转换成String变量 String boolStr = String.valueOf(true); System.out.println(boolStr.toUpperCase();看下编译结果:C:UsersAdministratorXDesktopXcodes066-1jauac Prinitiue2String-jauaC: XUsersXAdministiatorDesktopXcodes066 -ljaua Primitiue2Stiing 辻丄的结果是:1234.562.3453.344fRUE通过上面程序可以看出

      9、基本类型变量和字符串之间的转换关系iS过SMng vafueOffixirnitiveJftiftiSWiapperCiass. parseXxx法6.2基本类型变量和String之间的转换如果希望把基本类型变量转换成字符串,还有一种更简单的方法:将基本类型变量和进行 连接运算,系统会自动把基本类型变量转成字符串,/intStr 的值为5String intStr = 5 + ;这样就OK 了我们现在也可以看出来一点就是我们在慢慢地介绍JAVA中的类库是的方法了,我们也开始 会经常查看JDK开发文档了。处理对象:JAVA对象都是Object类的实例,都可直接调用该类中定义的方法,这些方法提供了处理JAVA对象的通用方法。打印对象和toString方法看代码:class Personprivate String name;public Person(String name)this.name = name;public void info()System.out.println(”此人名为:+name);public class PrintObjectpublic static void main(String args)创建一个Person对象,将值赋给P变量 Person p = new Person(世界您好!);打印P所引用的Person对象 System.o

      《JAVA包装类及其用法》由会员鲁**分享,可在线阅读,更多相关《JAVA包装类及其用法》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.