Integer.getInteger,are you kinding me? 好吧, 我还是没怎么弄明白,求高人解答。。。
public static void main(String[] args) {
try {
int num1 = Integer.valueOf("123456");
System.out.println(num1);//这里正常打印
int num2 = Integer.getInteger("123456");
System.out.println(num2);//抛出空异常
} catch (Exception e) {
System.out.println(e.toString());
}
}
出现上面这种情况,原以为是Integer.getInteger("123456")中"123456"必须使用变量,结果我换成
public static void main(String[] args) {
try {
int num1 = Integer.valueOf("123456");
System.out.println(num1);//这里正常打印
String string = "123456";
int num2 = Integer.getInteger(string);
System.out.println(num2);//抛出空异常
} catch (Exception e) {
System.out.println(e.toString());
}
}
结果果断悲剧。
网上是这么解释的:
Integer.valueOf(String)通过假设String表达的是一个数值而把String转化成数字。也就是说,Integer.valueOf("12345")得到数字12345。Integer.getInteger(String)通过假设String是一个系统属性数值的名称而把String转换成一个数字。也就是说,Integer.getInteger("12345")应该是得到null。
至今未能弄明白,求解释。。。

浙公网安备 33010602011771号