java byte 包装类_java-基本类型包装类

基本类型包装类

基本数据类型对应的包的好处是它是个类可以new对象调方法

基本数据类型包装类的特点:

用于基本数据类型和字符串进行转换;

且每个方法都是自己包装类的方法,   因为返回值是static修饰的所以可以直接 类名.调用;

字符串转基本数据类型的时候:

字符串必须是数值型不然不能进行转换

基本数据类型转字符方法:

1:基本数组类加 " "(双引号);

2.String.valueof方法;

3.调用包装类的toString方法:String s=Integer.toString

基本类型和对象转换方法 :

使用int类型与Integer对象转换进行演示,其他基本类型转换方式相同。

1.基本数据类型  ——》 包装类型:

Integer i = new Integer(4);//使用构造函数函数

Integer ii = new Integer("4");//构造函数中可以传递一个数字字符串

2.字符串-->包装类型,但必须是数值类型的字符串

Integer iii = Integer.valueOf(4);//使用包装类中的valueOf方法

Integer iiii = Integer.valueOf("4");//使用包装类中的valueOf方法

3.包装类型——》基本数据类型

int num = i.intValue();

基本数据类型和引用数据类型的区别:

int不能存null;Integer可以存null;

因为Integer是个对象可以掉方法,而且对象的默认值是null;Integer实际存的是地址

自动拆装箱:

就是引用数据类型可以直接拿来运算,因为系统自动并隐藏了引用数据类型转基本数据类型的过程;

基本数据类型可以直接赋值给引用数据类型,原因是系统自动将基本数据类型转成了引用数据类型并隐藏了转换过程

自动装箱:基本数据类型转成引用数据类型(int->Integer)

自动拆箱:引用数据类型转成基本数据类型(Integer->int)

自动装箱   (int转Integer)     拆箱(Integer转int);     装箱:int转Integer;     拆箱:Integer转int;

自动装箱:基本数据类型转引用数据类型:

例如

Integer i=1;

自动装箱就是直接赋值,

实际上省略了integer i=new Integer(1);

这里的1就是integer i=new Integer(1);

自动拆箱:就是包装类型转成基本数据类型

int sum=i+2;

这里也是直接写,

实际上省略了:int sum=i.intvalue(1)+2; i=i.intvalue();

自动装箱(byte常量池)

package com.oracle.demo01;public classDemo01 {public static voidmain(String[] args) {//接收数据 是String类型的String age="18";

String score="80.8";//将字符串转换为基本数据类型

int a=Integer.parseInt(age);//将

double b=Double.parseDouble(score);//基本数据类型转为字符串

转成什么就用什么来接//方法一 “”

int c=1;

System.out.println(""+c+2);//12//方法二 String 中的valueof方法String s1=String .valueOf(c);

System.out.println(s1+2);//方法三 调包装类中的toString (基本数据类型 变量)String s2=Integer.toString(c);

System.out.println(s2+2);

}

}

package com.oracle.demo01;public classDemo02 {public static voidmain(String[] args) {//基本数据类型 转 包装类型

int转Integer: 这实际上就是有参构造;

Integer i1= new Integer(1);

Integer i3=Integer.valueOf(2);//字符串-->包装类型,但必须是数值类型的字符串Integer i2=new Integer("1");

Integer i4=Integer.valueOf("2");通过包装类.valueof()方法来转:int转Integer://包装类型——》基本数据类型

int i5=i1.intValue();i1是前面转的Integer类型的变量

}}

package com.oracle.demo01public classDemo03 {public static voidmain(String[] args) {//自动装箱:基本数据类型-》包装类型

/*Integer i=1;// Integer i= new Integer(1);

//自动拆箱:包装类型-》基本数据类型

int sun=2+i;//int sum=i.intvalue()+2;

System.out.println(sun);//3*/Integer i1=500;

Integer i2=500;

System.out.println(i1==i2);//false因为i是Integet类型是对象,所以他们比较的是地址,所以地址肯定不一样System.out.println(i1.equals(i2));//true

因为这里i用的是equals()方法比较的是内容所以i和i2的内容一样都是555//只更改值,-128--127 byte常量池因为127是byte类型的,byte有常量池;

如果i3和i4的数值一样,那么就不会生成一个新的对象;直接把i3的

值赋值给i4;也就是把i4的地址给i3;那么也就不会生成新的对象实际上i4就是i3

Integer i3=127;

Integer i4=127;

System.out.println(i3==i4);//trueSystem.out.println(i3.equals(i4));//true

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值