Integer.ValueOf基数16

时间:2018-08-03 12:33:17

标签: java

public class Test { 

    public static void main(String args[])
    {
       Integer b = Integer.valueOf("444",16);

       System.out.println(b);
    }

}

为什么此代码显示1092

2 个答案:

答案 0 :(得分:3)

默认情况下,valueOf假定以10为底。如果将其指定为

Integer.valueOf("444",16);

这就像说以16为基数。这等于1092

4 *16²+ 4 *16¹+ 4 *16⁰

4 * 16 * 16 + 4 * 16 + 4 = 1092

答案 1 :(得分:2)

根据valueOf()方法的docs

  

返回一个整数对象,该对象保存用第二个参数给出的基数分析时从指定的String提取的值。

基数16是十六进制,而444的十进制等效项是1092source)