📜  java中字符串到整数的转换(1)

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

Java中字符串到整数的转换

在Java中,将字符串转换为整数是一种常见的操作。这通常是因为我们从文本文件或网络流中读取到的数据都是字符串类型的。在本文中,我们将探讨Java中字符串到整数的转换,包括以下内容:

  • Java中字符串到整数的类型
  • Java中字符串到整数的方法
  • Java中字符串到整数的异常
Java中字符串到整数的类型

在Java中,有两种整数类型:intlong。其中,int是32位有符号整数,其取值范围为-2,147,483,648到2,147,483,647。而long是64位有符号整数,其取值范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807。如果需要将字符串转换为整数,可以选择需要的整数类型进行转换。

Java中字符串到整数的方法

在Java中,字符串到整数的转换可以通过以下三种方法进行:

1. Integer.parseInt(String s)

Integer.parseInt()方法将字符串转换为int类型。如果字符串无法转换为int类型,则抛出NumberFormatException异常。

String str = "123";
int num = Integer.parseInt(str);
System.out.println(num);  // 输出123
2. Long.parseLong(String s)

Long.parseLong()方法将字符串转换为long类型。如果字符串无法转换为long类型,则抛出NumberFormatException异常。

String str = "123456789012345";
long num = Long.parseLong(str);
System.out.println(num);  // 输出123456789012345
3. Integer.valueOf(String s)

Integer.valueOf()方法将字符串转换为Integer类型。如果字符串无法转换为int类型,则抛出NumberFormatException异常。

String str = "123";
Integer num = Integer.valueOf(str);
System.out.println(num);  // 输出123
Java中字符串到整数的异常

在进行字符串到整数的转换时,可能会出现各种异常情况。除了上述提到的NumberFormatException异常外,还可能会出现以下两种异常:

1. NullPointerException

如果字符串为null,则调用上述三种方法时会抛出NullPointerException异常。

String str = null;
int num = Integer.parseInt(str);  // 抛出NullPointerException异常
2. 精度丢失异常

在将字符串转换为long类型时,如果字符串的值超过了long类型的取值范围,就会出现精度丢失的异常。例如,如果字符串的值大于Long.MAX_VALUE,则转换为long类型时会出现精度丢失异常。

String str = "9223372036854775808";  // 大于Long类型的最大值
long num = Long.parseLong(str);  // 抛出NumberFormatException异常
总结

Java中,字符串到整数的转换是一种常见的操作。我们可以选择Integer.parseInt()Long.parseLong()Integer.valueOf()方法进行转换。在进行转换时,需要注意NumberFormatExceptionNullPointerException和精度丢失异常的情况。