📜  Integer.valueOf() 与 Integer.parseInt() 示例(1)

📅  最后修改于: 2023-12-03 15:15:51.054000             🧑  作者: Mango

Integer.valueOf() 与 Integer.parseInt() 示例

在 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 参数来创建一个 nullInteger 对象。

以下是示例代码:

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 参数来创建一个 nullInteger 对象。