• java中装箱,拆箱


    (1)包装类

           java中不能定义基本数据类型的对象,但是提供了基本数据类型的包装类来解决这一问题,例如int类型的包装类Integer, 包装类的常用方法有Integer.ParseInt()方法类将int类型的数据和String类型的数据做强转。

    (2)装箱和拆箱

           在java中,数据类型总共可分为两大种,基本数据类型(值类型)和类类型(引用数据类型)。基本类型的数据不是对象,不能作为对象调用其toString()、hashCode()、getClass()、equals()等等方法。
     所以在java中,针对8种基本数据类型,提供了针对每个基本数据类型的包装类。如下:
    INDEX 基本数据类型 包装类
    1 int Integer
    2 char Character
    3 float Float
    4 double Double
    5 byte Byte
    6 short Short
    7 long Long
    8 boolean Boolean
    所谓装箱,就是把基本类型用它们相对应的引用类型包起来,使它们可以具有对象的特质,如我们可以把int型包装成Integer类的对象,或者把double包装成Double,等等。
     所谓拆箱,就是跟装箱的方向相反,将Integer及Double这样的引用类型的对象重新简化为值类型的数据。
     //JDK1.5 之前使用手动方式进行装箱 和拆箱的 操作
    public class IntegerDemo
    {
    public static void main (String []agrs)
    {
    int i=10;
    Integer j=new Integer(i); //手动装箱操作
    int i1=j.intValue();//手动拆箱操作
    System.out.println(i1*i1);
    }
    }; //output:100

    //JDK1.5之后可自动进行的装箱和拆箱的操作,比较方便
    public class IntegerDemo02
    {
    public static void main (String []agrs)
    {
    int i=10
    Integer j=i;
    int k=j;
    System.out.println(++k);
    }
    }; //output:11
     
    包装类的另外一个比较有用的是可以将String 字符串类型转换为相应的基本数据类型。下面以将String转为int为例:
    public class IntegerDemo04
    {
    public static void main (String[] args)
    {
    String str="1500";
    try
    {
    int i=Integer.parseInt(str);
    System.out.println(++i);
    }
    catch (Exception e)
    {
    e.printStackTrace(); //打印异常信息
    }
    }
    };// output: 1501
     如果在上述方法中str="15er00";则在调用parseInt方法时候会产生NumberFormatException异常,见JDK API中对该方法的描述:
    public static int parseInt(String s) throws NumberFormatException

    将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。 

    参数:
    s - 包含要解析的 int 表示形式的 String。 
    返回:
    用十进制参数表示的整数值。 
    抛出: 
    NumberFormatException - 如果字符串不包含可解析的整数。
      总结在包装类中将String转换为包装类所对应的基本数据类型的方法如下,所有的方法都将抛出NumberFormatException异常,需要在调用时候使用try ..catch 进行捕获
     
    index 包装类 返回的基本数据类型 方法名
    1 Integer int static int Integer.parseInt(Sting s)
    2 Character char static char Character.parseChar(String s)
    3 Float float static float Float.parseFloat(String s)
    4 Dobule double static double Double.parseDouble(String s)
    5 Byte byte static byte Byte.parseByte(String s)
    6 Short short static short Short.parseShort(String s)
    7 Long long static long Long.parseLong(String s)
    8 Boolean boolean static boolean Boolean.parseBoolean(String s)

  • 相关阅读:
    ZEat
    BingWallpaper
    ZBreak
    C语言块内变量回收问题
    Android 隐藏RadoiButton左边按钮
    php文件管理与基础功能的实现
    Ajax写分页查询(实现不刷新页面)
    jquery写日期选择器
    ajax三级联动下拉菜单
    ajax bookstrap美化网页,并实现页面的加载,删除与查看详情
  • 原文地址:https://www.cnblogs.com/deng-c-q/p/5082248.html
Copyright © 2020-2023  润新知