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.

三、包装类(Wrapper Class)常用其他方法

String类:

int indexOf(int ch)
            返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex)
            从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。
int indexOf(String str)
            返回第一次出现的指定子字符串在此字符串中的索引。
int indexOf(String str, int fromIndex)
            从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
static String valueOf(boolean b)
            返回 boolean 参数的字符串表示形式。
static String valueOf(char c)
            返回 char 参数的字符串表示形式。
static String valueOf(char[] data)
            返回 char 数组参数的字符串表示形式。
static String valueOf(char[] data, int offset, int count)
            返回 char 数组参数的特定子数组的字符串表示形式。
static String valueOf(double d)
            返回 double 参数的字符串表示形式。
static String valueOf(float f)
            返回 float 参数的字符串表示形式。
static String valueOf(int i)
            返回 int 参数的字符串表示形式。
static String valueOf(long l)
            返回 long 参数的字符串表示形式。
static String valueOf(Object obj)
            返回 Object 参数的字符串表示形式。

你可能感兴趣的:(java基本类型和包装器类)