Integer.parseInt(s) 和 Integer.valueOf(s)区别
Integer.parseInt(s)的jdk源码为:
public static int parseInt(String s) throws NumberFormatException {??
return parseInt(s,10);??
}??
Integer.valueOf(s)的jdk源码为:
public static Integer valueOf(String s) throws NumberFormatException{?
return new Integer(parseInt(s, 10));?
}?
方法返回值型明显不同。
测试代码:
public static void main(String[] args) {?
String a="1";?
String b="1";?
System.out.println(Integer.parseInt(a)==Integer.valueOf(b));//int和Integer比较,Integer自动拆箱?
System.out.println(Integer.parseInt(a)==Integer.parseInt(b)); //两个基本类型比较自然没有问题。?
System.out.println(Integer.valueOf(a)==Integer.valueOf(b)); //两个Integer对象比较,输出为false?
}?