问题:将String类型的数字转换为数值类型,能够使用包装类的valueof()方法或者parseInt()等方法;使用valueof()方法返回的是包装类型,使用parseInt()等方法返回的是基本类型,valueof()等方法底层调用parseInt()等方法;Java有自动拆箱和装箱的机制,使用两种方式中的任意一种均可以,可是在特殊状况下不能随意使用,好比:要进行页面空值和0输出时,Integer能够为空,而int为0。java
Integer类的一些方法:数据库
//这些都是类的静态方法,不用New对象,直接使用
// 只有Character 没有 toString() 方法,jvm
int num = 1; string s1 = num + "";//先装箱,调用toString方法,再相加 string s2 = num.toString();//基本类型不能调用toString方法 //总结:若是是包装类型转换为字符串,使用toString方法比+“”方式好 Integer i = new Integer(1); Map<String,Object> map = new HashMap(); map.put("num",i); String iStr = map.get("num")+"";//map.get("num")
下面记录他们的区别:函数
package test; public class Test { public static void main(String[] args) { Integer i1 = 127;//指向常量池中的127 Integer i2 = 127;//指向常量池中的127 System.err.println(i1 == i2);//指向同一内存区域,输出true i1 = 128; //建立对象 i2 = 128; //建立对象 System.err.println(i1 == i2); //指向不一样区域,输出false } }