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类:

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

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类:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值