【Java】Integer.parseInt()和Integer.valueOf()的区别
1.Integer.parseInt()和Integer.valueOf()的区别
区别1
Integer.parseInt()将字符串转换为基本类型int,返回一个int类型值。
int i = Integer.parseInt(String s);
Integer.valueOf()将字符串转换为Integer对象,返回一个Integer对象。
Integer i = Integer.valueOf(String s);
区别2
parseInt方法是静态方法,而valueOf方法是静态工厂方法。
区别3
Integer.valueOf()使用了Integer缓存,可以缓存-128到127之间的整数。
Integer.parseInt()不使用缓存,每次都会返回一个新的int类型值。
区别4
Integer.parseInt()在转换过程中发生错误时,会抛出NumberFormatException异常。
Integer.valueOf()在转换过程中发生错误时,也会抛出NumberFormatException异常,但如果要转换的字符串为null,它将返回null而不是抛出异常。
Integer.valueOf()在转换过程中发生错误时,也会抛出NumberFormatException异常,但如果要转换的字符串为null,它将返回null而不是抛出异常。
区别5
valueOf方法可以接受一个字符串和一个int类型的参数,将字符串转换为指定进制的整数,例如:Integer.valueOf("10", 2)可以将二进制数"10"转换为十进制数2。
两种方式根据需要选择使用即可
2.常用的类型转换
2.1 转换为double类型
Double.valueOf()
Double.parseDouble()
2.2 转换为string类型
String.valueOf()
2.3 转换为float类型
Float.valueOf()
Float.parseFloat()
2.4 转换为char
Character.valueOf()
2.5转换为long类型
Long.valueOf()
Long.parseLong()
2.6 转换为short类型
Short.valueOf()
Short.parseShort()
2.7转换为byte类型
Byte.valueOf()
Byte.parseByte()
2.8转换为boolean类型
Boolean.valueOf()
Boolean.parseBoolean()