如何在 Java 中把一个字符串转换为一个整型 int

Mohammad Irfan 2023年1月30日 2020年9月26日
  1. 在 Java 中使用 parseInt() 将字符串 String 转换为整型 int
  2. 在 Java 中使用 ApacheString 转换为 int
  3. 使用 Java 中的 decode()String 转换为 int
  4. 使用 Java 中的 valueOf()String 转换为 int
  5. 在 Java 中使用 parseUnsignedInt()String 转换为 int
  6. 在 Java 中使用 replaceAll() 删除非数字字符后转换字符串
如何在 Java 中把一个字符串转换为一个整型 int

本教程介绍了如何在 Java 中把一个字符串 String 转换成一个整型 int,并列举了一些示例代码来理解它。

在 Java 中使用 parseInt() 将字符串 String 转换为整型 int

Stringint 都是 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 中使用 ApacheString 转换为 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 Integer