primitive主数据类型的包装

当想以对象方式来处理primitive主数据类型时,就把它包装起来,Java 5.0之前的版本,无法直接把primitive主数据类型放进ArrayList或Hash-Map。
每一个primiti主数据类型都有个包装用的类,且因为这些包装类都在java.lang这个包中。所以无需去import他们。对应的包装类的名称都是依照所包装的类型设定的,只是将其第一个字母改成大写即可。
包装类有:Boolean Character Byte Short Integer Long Float Double
包装值:

int i = 288;
//传入primitive主数据类型给包装类的构造函数
Integer iWrap = new Integer(i);

解开包装:

//所有的包装类都有类似这样的方法
int unWrappped = iWrap.intValue();

primitive int 的 ArrayList
无autoboxing

public void do NumbsOldWay(){
    //创建出ArrayList对象
    ArrayList listOfNumbers = new ArrayList();
    //不能直接加入primitive的3,得转化为Integer
    listOfNumbers.add(new Integer(3));
    //返回object类型,但你可以将object转换为Integer
    Integer one = (Integer) listOfNumbers.get(0);
    //最后再取出primitive
    int intOne = one.intvalue();

有autoboxing

public void doNumsNewWay(){
    //创建Integer类型的ArrayList
    ArrayList<Integer> listOfNumbers = new ArrayList<Integer>;
    listOfNumbers.add(3);
    //编译器自动解开Integer对象的包装,因此可以直接赋值给int
    int num = listOfNumbers.get(0);
 }

autoboxing的用处

1,方法的参数
参数是某种包装类型,传入相对应的primitive主数据类型

void takeNumber(Integer i){}

2,返回值
method声明为返回某种primitive主数据类型,返回兼容的primitive主数据类型或者该primitive主数据类型的包装类型。

int giveNumber() {
    return x;
}

3,boolean的表达式
任何预期boolean值的位置都可以用求出boolean的表达式来代替

if(bool){
    System.out.println("true");
    }

4,数值运算
可以在使用primitive主数据类型作为运算子的操作中以包装类型来替换

Integer i = new Integer(42);
i++;
 
Integer j = new Integer(24);
Integer k = i + j;

5,赋值
将包装类型或primitive主数据类型赋给声明成相对应的包装或primitive主数据类型

Double d = x;

6,包装类型转换
常用为将对应的String类型的字符串数字转换成对应的数值

String s = "2";
int x = Integer.parseInt(s)
 
double d = Double.parseDouble("420.24");
//bool类型不同
boolean b = new Boolean("true").booleanValue();

7,将primitive主数据值转换成String
将数值转换成String

double d = 4.25;
String doubleString = " " + d ;

double d = 42.5;
String doubleString = Double.toString(d);
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值