📅  最后修改于: 2023-12-03 15:15:51.054000             🧑  作者: Mango
在 Java 中,Integer.valueOf()
和 Integer.parseInt()
方法都可以将字符串转换为整数。两者都可以完成相同的任务,但是它们之间有一些关键的区别。
Integer.parseInt()
Integer.parseInt()
是将一个字符串转换为一个 int 类型的整数的静态方法。它返回转换后的整数的值。
public static int parseInt(String s) throws NumberFormatException
s
- 要转换为整数的字符串。以下是示例代码:
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num); // 输出 123
Integer.valueOf()
Integer.valueOf()
方法是将一个字符串转换为 Integer
对象的静态方法。它也返回转换后的整数。不同的是,它返回的是一个 Integer
对象而不是一个 int
值。
public static Integer valueOf(String s) throws NumberFormatException
s
- 要转换为整数的字符串。以下是示例代码:
String str = "123";
Integer num = Integer.valueOf(str);
System.out.println(num); // 输出 123
parseInt()
返回一个原始的整数值,而 valueOf()
返回一个 Integer
对象。如果您需要一个 Integer
对象而非原始的 int 值,则应该使用 Integer.valueOf()
。
另一个重要的区别是在处理 null
字符串时的行为。parseInt()
无法处理 null
字符串,将抛出 NumberFormatException
异常。但是,valueOf()
方法可以通过传递 null
参数来创建一个 null
的 Integer
对象。
以下是示例代码:
String str1 = "123";
String str2 = null;
// parseInt() 方法无法处理 null 字符串
System.out.println(Integer.parseInt(str2)); // 抛出 NumberFormatException 异常
// valueOf() 方法可以处理 null 字符串,返回 null 的 Integer 对象
System.out.println(Integer.valueOf(str2)); // 输出 null
Integer.parseInt()
可以将字符串转换为 int 类型的整数。Integer.valueOf()
可以将字符串转换为 Integer
对象。parseInt()
返回一个原始的整数值,而 valueOf()
返回一个 Integer
对象。parseInt()
无法处理 null
字符串,将抛出 NumberFormatException
异常。但是,valueOf()
方法可以通过传递 null
参数来创建一个 null
的 Integer
对象。