📅  最后修改于: 2023-12-03 15:16:19.578000             🧑  作者: Mango
在Java中,将字符串转换为整数是一种常见的操作。这通常是因为我们从文本文件或网络流中读取到的数据都是字符串类型的。在本文中,我们将探讨Java中字符串到整数的转换,包括以下内容:
在Java中,有两种整数类型:int
和long
。其中,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中,字符串到整数的转换可以通过以下三种方法进行:
Integer.parseInt()
方法将字符串转换为int
类型。如果字符串无法转换为int
类型,则抛出NumberFormatException
异常。
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num); // 输出123
Long.parseLong()
方法将字符串转换为long
类型。如果字符串无法转换为long
类型,则抛出NumberFormatException
异常。
String str = "123456789012345";
long num = Long.parseLong(str);
System.out.println(num); // 输出123456789012345
Integer.valueOf()
方法将字符串转换为Integer
类型。如果字符串无法转换为int
类型,则抛出NumberFormatException
异常。
String str = "123";
Integer num = Integer.valueOf(str);
System.out.println(num); // 输出123
在进行字符串到整数的转换时,可能会出现各种异常情况。除了上述提到的NumberFormatException
异常外,还可能会出现以下两种异常:
如果字符串为null
,则调用上述三种方法时会抛出NullPointerException
异常。
String str = null;
int num = Integer.parseInt(str); // 抛出NullPointerException异常
在将字符串转换为long
类型时,如果字符串的值超过了long
类型的取值范围,就会出现精度丢失的异常。例如,如果字符串的值大于Long.MAX_VALUE
,则转换为long
类型时会出现精度丢失异常。
String str = "9223372036854775808"; // 大于Long类型的最大值
long num = Long.parseLong(str); // 抛出NumberFormatException异常
Java中,字符串到整数的转换是一种常见的操作。我们可以选择Integer.parseInt()
、Long.parseLong()
或Integer.valueOf()
方法进行转换。在进行转换时,需要注意NumberFormatException
、NullPointerException
和精度丢失异常的情况。