zoukankan      html  css  js  c++  java
  • java基本类型和包装器类

      java是一种面向对象语言,java中的类把方法与数据连接在一起,并构成了自包含式的处理单元.但在java中不能定义基本类型(primitive type),为了能将基本类型视为对象来处理,并能连接相关的方法,java为每个基本类型都提供了包装类,这样,我们便可以把这些基本类型转化为对象来处理了.这些包装类有:Boolean,Byte,Short,Character,Integer,Long,Float,Double,Void共9个(注意:Date不是,无其基本类型).

    一、 包装类(Wrapper Class)共同的方法

    值得说明的是,java是可以直接处理基本类型的,但是在有些情况下我们需要将其作为对象来处理,这时就需要将其转化为包装类了.所有的包装类(Wrapper Class)都有共同的方法,他们是:

    (1)带有基本值参数并创建包装类对象的构造函数.如可以利用Integer包装类创建对象,Integer obj=new Integer(145);

    (2)带有字符串参数并创建包装类对象的构造函数.如new Integer("-45.36");

    (3)可生成对象基本值的typeValue方法,如obj.intValue();

    (4)将字符串转换为基本值的 parseType方法,如Integer.parseInt(args[0]);

    (5)生成哈稀表代码的hashCode方法,如obj.hasCode();

    (6)对同一个类的两个对象进行比较的equals()方法,如obj1.eauqls(obj2);

    (7)生成字符串表示法的toString()方法,如obj.toString().

    转换关系:

    基本类型------>包装器类
    Integer obj=new Integer(145);

    包装器类------>基本类型
    int num=obj.intValue();

    字符串------>包装器类
    Integer obj=new Integer("-45.36");

    包装器类------>字符串包装器类

    String str=obj.toString();

    字符串------>基本类型
    int num=Integer.parseInt("-45.36");

    基本类型------>字符串包装器类

    String str=String.valueOf(5);


    在一定的场合,运用java包装类来解决问题,能大大提高编程效率.

    二、JDK1.5的新特性:自动装包/拆包(Autoboxing/unboxing)

      自动装包/拆包大大方便了基本类型数据和它们包装类地使用。

      自动装包:基本类型自动转为包装类.(int >> Integer)

      自动拆包:包装类自动转为基本类型.(Integer >> int)

      在JDK1.5之前,我们总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制
    解决了我们的问题。

    int a = 3;
    Collection c = new ArrayList();
    c.add(a);//自动转换成Integer.

    Integer b = new Integer(2);
    c.add(b + 2);

      这里Integer先自动转换为int进行加法运算,然后int再次转换为Integer.

  • 相关阅读:
    Boost.Bind的基础使用
    boost::bind
    winform多线程方式登录代码整理
    shared_from_this 几个值得注意的地方
    [转]gtest使用
    以boost::function和boost:bind取代虚函数
    asio学习2: TCP服务器端:对准时间 解析
    boost asio study
    Asio学习1: TCP客户端:对准时间 解析
    Shawn,别让我们失望
  • 原文地址:https://www.cnblogs.com/Eason-S/p/5393396.html
Copyright © 2011-2022 走看看