包装类

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。包装类,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

5.包装类
5.1.概述
  • 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的。而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成绩需要转换成double类型等。
  • 基本数据类型包装类
    基本数据类型 包装类
    byte Byte
    short Short
    int Integer
    long Long
    char Character
    float Float
    double Double
    boolean Boolean
  • 装箱与拆箱:基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“:
    • 装箱:从基本类型转换为对应的包装类对象。
    • 拆箱:从包装类对象转换为对应的基本类型。
5.2.Integer常用方法
5.2.1.构造方法
  • public Integer(int value)
  • public Integer(String s): 注意:这个字符串由数字组成
5.2.2.String—>int
  1. 除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型:

    • public static byte parseByte(String s) :将字符串参数转换为对应的byte基本类型。
    • public static short parseShort(String s) :将字符串参数转换为对应的short基本类型。
    • public static int parseInt(String s) :将字符串参数转换为对应的int基本类型。
    • public static long parseLong(String s) :将字符串参数转换为对应的long基本类型。
    • public static float parseFloat(String s) :将字符串参数转换为对应的float基本类型。
    • public static double parseDouble(String s) :将字符串参数转换为对应的double基本类型。
    • public static boolean parseBoolean(String s) :将字符串参数转换为对应的boolean基本类型。

    注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出java.lang.NumberFormatException 异常

  2. String–Integer—int,使用构造方法

    int x = new Integer(s).intValue(); 把String类型转成Integer类型,再把Integer类型转成int类,其中s是由数字构成的字符串

5.2.3.int—>String
  1. 字符串拼接:String s = "" + number;
  2. String的方法,可以把任意类型的变量转换成字符串:String s = String.valueOf(number);
  3. toString()方法String s=Integer.toString(number);
5.2.3.自动装箱与自动拆箱
  • 由于我们经常要做基本类型与包装类之间的转换,从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱动作可以自动完成。
Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);
i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱),相当于i.intValue() + 5;
//加法运算完成后,再次装箱,把基本数值转成对象。
5.2.4.注意事项
Integer i1 = 1;
Integer  i2 = 1;

Integer i3 = new Integer(1);
Integer i4 = new Integer(1);

System.out.println(i1 == i2);
System.out.println(i3 == i4);
System.out.println(i1 == i3);

//输出结果:
    ture
    false
    false
  • 解释:对于数据范围在-128 – 127之间这个范围的包装类对象,JVM做了缓存,他们是缓存中已经提前被创建好的,放在那里,所以是同一个对象。
  • 虽然有了自动装箱与拆箱,但是他们仍然不等价,比如:返回值不可等价,数组类型不可等价。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/181085.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!