java基础知识(8)

17.string 转换成 integer的方式及原理

1.Integer 转化成String类型
// 方法一:Integer类的静态方法toString()
Integer a = 2;
String str = Integer.toString(a);

// 方法二:Integer类的成员方法toString()
Integer a = 2;
String str = a.toString();

// 方法三:String类的静态方法valueOf()
Integer a = 2;
String str = String.valueOf(a);

源码分析

 public String toString() {
        return toString(value);
    }

public static String toString(int i, int radix) {
    if (radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
        radix = 10;
    /* Use the faster version */
    if (radix == 10) {
        return toString(i);
    }
    char buf[] = new char[33];
    boolean negative = (i < 0);
    int charPos = 32;
    if (!negative) {
        i = -i;
    }
    while (i <= -radix) {
        buf[charPos--] = digits[-(i % radix)];
        i = i / radix;
    }
    buf[charPos] = digits[-i];

    if (negative) {
        buf[--charPos] = '-';
    }
    return new String(buf, charPos, (33 - charPos));
}

备注:
1.通过toString()方法,可以把整数(包括0)转化为字符串,但是Integer如果是null的话,就会报空指针异常。

2.String.valueOf(Object obj)可以把整型(包括0)转化为字符串,但是Integer如果是null的话,会转化为”null”。从String.valueOf(Object obj)方法的源码可以看出:
/**
* Returns the string representation of the {@code Object} argument.
*
* @param obj an {@code Object}.
* @return if the argument is {@code null}, then a string equal to
* {@code “null”}; otherwise, the value of
* {@code obj.toString()} is returned.
* @see java.lang.Object#toString()
*/
public static String valueOf(Object obj) {
return (obj == null) ? “null” : obj.toString();
}

2.String 转化成 Integer
注意:当我们要把String转化为Integer时,一定要对String进行非空判断,否则很可能报空指针异常.
String temp= “”;
Integer valueOf = Integer.valueOf(temp);//一定判断字符串是否为空

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值