标签: java
public class Test { public static void main(String args[]) { Integer b = Integer.valueOf("444",16); System.out.println(b); } }
为什么此代码显示1092?
1092
答案 0 :(得分:3)
默认情况下,valueOf假定以10为底。如果将其指定为
valueOf
Integer.valueOf("444",16);
这就像说以16为基数。这等于1092
4 *16²+ 4 *16¹+ 4 *16⁰
4 * 16 * 16 + 4 * 16 + 4 = 1092
答案 1 :(得分:2)
根据valueOf()方法的docs:
valueOf()
返回一个整数对象,该对象保存用第二个参数给出的基数分析时从指定的String提取的值。
基数16是十六进制,而444的十进制等效项是1092(source)
444