Integer valueOf小记

==其实我是不太明白 第二个参数什么意思啦!==头疼,看了很多博客都说什么代表基数,跟英文单词单词一样的解释,反正不懂!

所以自己去看看源码吧!

 public static Integer valueOf(String s, int radix) throws NumberFormatException {
        return Integer.valueOf(parseInt(s,radix));
}

调用下面的两个参数的方法
为什么不带你们看方法体呢?因为答案在文档注释里面

public static int parseInt(String s, int radix)
                throws NumberFormatException { xx  省略}

我想你们看到下面的examples应该都懂了吧!
第一个参数就是我们要转换的数字,因为我是要把二进制的字符串转为整数类型的数字的,所以就想到了Integer.valueOf()这个方法了!

 	 * <p>Examples:
     * <blockquote><pre>
     * parseInt("0", 10) returns 0
     * parseInt("473", 10) returns 473
     * parseInt("+42", 10) returns 42
     * parseInt("-0", 10) returns 0
     * parseInt("-FF", 16) returns -255
     * parseInt("1100110", 2) returns 102
     * parseInt("2147483647", 10) returns 2147483647
     * parseInt("-2147483648", 10) returns -2147483648
     * parseInt("2147483648", 10) throws a NumberFormatException
     * parseInt("99", 8) throws a NumberFormatException
     * parseInt("Kona", 10) throws a NumberFormatException
     * parseInt("Kona", 27) returns 411787
     * </pre></blockquote>

看完上面的examples我得出的结论是:
1、parseInt如果默认不写第二个参数的话,那就是把第一个参数当成十进制直接转为整形,如果转不了,那就是存在异常情况了,可能是NumberFormatException异常等着你。
2、如果像我一样想把二进制转为整数类型的话,那么你后面写个2,代表你前面第一个参数的字符串的是二进制的呢,你写16那就就代表第一个参数是十六进制!
3、异常情况包括越界咯,英文那种就是转不了整形的。

你可能感兴趣的:(Java)