如何在 Java 中把一个字符串转换为一个整型 int
Mohammad Irfan
2023年1月30日
2020年9月26日
-
在 Java 中使用
parseInt()
将字符串String
转换为整型int
-
在 Java 中使用
Apache
将String
转换为int
-
使用 Java 中的
decode()
将String
转换为int
-
使用 Java 中的 valueOf()
将
String 转换为int
-
在 Java 中使用
parseUnsignedInt()
将String
转换为int
-
在 Java 中使用
replaceAll()
删除非数字字符后转换字符串
本教程介绍了如何在 Java 中把一个字符串 String
转换成一个整型 int
,并列举了一些示例代码来理解它。
在 Java 中使用 parseInt()
将字符串 String
转换为整型 int
String
和 int
都是 Java 中的数据类型。String
用于存储文本信息,而 int
用于存储数字数据。
在这里,我们使用 Integer
类的 parseInt()
方法,返回一个 Integer
。由于 Java 做了隐式自动装箱,那么我们可以将其存储成 int 基元类型。请看下面的例子。
public class SimpleTesting {
public static void main(String[] args) {
String str = "1234";
int int_val = Integer.parseInt(str);
System.out.println(int_val);
}
}
输出:
1234
在 Java 中使用 Apache
将 String
转换为 int
如果你正在使用 Apache
库,你可以使用 NumberUtils
类的 toInt()
方法返回一个 int 值。如果传递的字符串中包含任何非数字字符,这个方法不会抛出任何异常,而是返回 0
。使用 toInt()
比使用 parseInt()
是安全的,因为 parseInt()
会抛出 NumberFormatException
。请看下面的例子。
import org.apache.commons.lang3.math.NumberUtils;
public class SimpleTesting {
public static void main(String[] args) {
String str = "1234";
int int_val = NumberUtils.toInt(str);
System.out.println(int_val);
str = "1234x"; // non-numeric string
int_val = NumberUtils.toInt(str);
System.out.println(int_val);
}
}
输出:
1234
0
使用 Java 中的 decode()
将 String
转换为 int
我们可以使用 Integer
类的 decode()
方法从一个字符串中获取 int 值。它返回 Integer
值,但如果你想得到 int
(基本)值,则使用 intValue()
和 decode()
方法。请看下面的例子。
public class SimpleTesting {
public static void main(String[] args) {
String str = "1424";
int int_val = Integer.decode(str);
System.out.println(int_val);
// int primitive
int_val = Integer.decode(str).intValue();
System.out.println(int_val);
}
}
输出:
1424
使用 Java 中的 valueOf()将
String 转换为 int
我们可以使用 valueOf()
方法来获取一个字符串转换后的 int 值。
public class SimpleTesting {
public static void main(String[] args) {
String str = "1424";
int int_val = Integer.valueOf(str);
System.out.println(int_val);
}
}
1424
1424
在 Java 中使用 parseUnsignedInt()
将 String
转换为 int
如果我们要转换一个不包含符号的字符串,使用 parseUnsignedInt()
方法来获取 int 值。它对无符号字符串的值工作正常,如果值是有符号的,则会抛出一个异常。
public class SimpleTesting {
public static void main(String[] args) {
String str = "1424";
int int_val = Integer.parseUnsignedInt(str);
System.out.println(int_val);
}
}
输出:
1424
在 Java 中使用 replaceAll()
删除非数字字符后转换字符串
如果字符串中包含非数字字符,则使用 String
类的 replaceAll()
方法与 regex
删除所有非数字字符,然后使用 Integer
类的 parseInt()
方法得到其等价的整数值。请看下面的例子。
public class SimpleTesting {
public static void main(String[] args) {
String str = "1424x";
str = str.replaceAll("[^\\d]", "");
int int_val = Integer.parseInt(str);
System.out.println(int_val);
}
}
输出:
1424
相关文章 - Java String
- 如何从 Java 中的字符串中删除子字符串
- 如何将 Java 字符串转换为字节
- 如何在 Java 中以十六进制字符串转换字节数组
- 如何在 Java 中执行字符串到字符串数组的转换
- 用 Java 生成随机字符串
- Java 中的交换方法