java包装类 数据转型

1.java中,一直提倡一个原则:一切皆对象.那么原则本身有一个漏洞----基本数据类型不是对象,那么怎么解决这个漏洞,最简单是将数据类型作为一个类的属性保存起来,把基本数据类型包装一下.

1.1实现基本数据类型包装
在这里插入图片描述
运行结果
以上操作是讲基本数据类型变为一个对象的形式进行操作了,但是有一个问题:基本数值型数据是可以进行数学运算的,可是变为类的形式,那么肯定无法计算.所以java提供了8种包装类.
100
八种包装类:
数值型(Number子类):Byte、short、Integer、Float、Double、Long;
对象型(Object子类):Boolean、Character.
对于Number的子类,就必须观察出Number类中定义的方法:byteValue()、intValue()、doubleValue()、shortValue()、floatValue()、doubleValue().就是从包装类中取得所有包装的数值.

2.装箱与拆箱
在基本数据类型和包装类之间的转换操作有两个重要概念.
装箱操作:将基本数据类型变为包装类,为装箱;
拆箱操作:将包装类变为基本数据类型,称为拆箱.

2.1以int和Integer为例实现装箱及拆箱操作.
在这里插入图片描述
运行结果225

2.2以double和Double为例实现装箱及拆箱操作
在这里插入图片描述
运行结果
240.25

2.3以boolean和Boolean为例实现装箱及拆箱操作

结果:
Hello World

3.上面都行JDk1.5之前必须操作,但是之后java提供了自动装箱和拆箱机制,并且包装类对象可以自动进行数学计算.

3.1以int和Interger为例实现自动装箱及拆箱操作.
在这里插入图片描述
运行结果
在这里插入图片描述

3.2以boolen和Boolean实现自动装箱及拆箱操作
在这里插入图片描述
运行结果
Hello World
正是有了自动装箱和拆箱机制,Object才可以接受基本数据类型的数据

3.3使用Object接受int型数据

package class2;

public class Test15{
    public static void main(String args[]){
        Object obj=15;  //int -->自动装箱-->Object
        int result=(Integer)obj;   //Object-->包装类-->自动拆箱
        System.out.println("result *result");
    }
}

运行结果
一个数据类型int赋值给Object对象时,会自动发生装箱操作,而后就可以发生对象的向上转型,而此时的Object类型也就变成了一个万能的类型.
225

4.包装类也是使用对象池概念,出现了自动装箱和自动拆箱,它也就和String类一样,存在两类实例化对象操作:一种是直接赋值,另一种是通过构造方法赋值,而通过直接赋值方式实例化的包装类对象可以自动入池.
在这里插入图片描述
int和Interger有什么区别?
java提供两种不同的类型:基本数据类型和引用数据类型,int是java基本数据类型,Integer是java为int提供的包装类.

5.包装类最大的优点可以将字符串变为指定的基本数据类型.
Integer类:public static int parseInt(String s);
Double类:public static double parseDouble(String s);
Boolean类:public static boolean parseBoolean(String s);
但是Character这个包装中,并没有提供一个类似的parseCharacter(),因为字符串String类中提供了一个charAt()方法,可以取得指定索引的字符,并且字符长度就是一位.

5.1将字符串变为int型数据
在这里插入图片描述
在执行这种操作中,字符串的全部内容必须由数字组成,如果有一个内容不是数字,则会提醒如下错误:NumberFormatException
运行结果
在这里插入图片描述
5.2将字符变为double型数据
在这里插入图片描述
运行结果
在这里插入图片描述
5.3将字符变为boolean型数据
在这里插入图片描述
运行结果
Boolean转型是即使字符串不是true和false也不会错,统一都按照false处理,不会异常.
在这里插入图片描述

6.那么基本数据类型如何变为字符串呢?
方式一:任何基本数据类型遇到String后都变为String型数据
在这里插入图片描述
运行结果
在这里插入图片描述

方式二:利用String类的方法 public static String valueOf(数据类型 变量)
将int型数据变为String型数据
在这里插入图片描述
运行结果一样

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值