📅  最后修改于: 2023-12-03 15:39:16.877000             🧑  作者: Mango
在 Java 编程中,时常需要将不同类型的数据转换为整数型 (int)。以下是将对象解析为 int 的不同方法:
Integer.parseInt(String s)
方法可将一个字符串转换为 int 类型。如果要将对象转换为字符串,可使用 Object.toString()
方法。
Object obj = "123";
int num = Integer.parseInt(obj.toString());
System.out.println(num); // 输出:123
注意:如果转换的字符串不是数字,将会抛出 NumberFormatException
。
如果对象是一个数字类型 (byte, short, float, double, long),可以通过强制类型转换将其转换为 int 类型。
double num = 10.5;
int intNum = (int) num;
System.out.println(intNum); // 输出:10
Integer.valueOf()
方法返回一个 Integer 对象,可以使用 intvalue()
方法将其转换为 int 类型。
Object obj = 123;
int num = Integer.valueOf(obj.toString()).intValue();
System.out.println(num); // 输出:123
NumberFormat.parse()
方法可将一个字符串类型的数字转换为 Number 对象,然后使用 intValue()
方法将其转换为 int 类型。该方法通常用于国际化程序中。
String strNum = "1,234,567";
NumberFormat format = NumberFormat.getNumberInstance(Locale.US);
Number number = format.parse(strNum);
int num = number.intValue();
System.out.println(num); // 输出:1234567
注意:如果字符串数字中没有逗号分隔符,则无需使用 NumberFormat
。
最后,可以使用 try-catch
块捕获 NumberFormatException
异常,并在异常处理程序中处理错误情况。
Object obj = "abc";
int num = 0;
try {
num = Integer.parseInt(obj.toString());
} catch (NumberFormatException e) {
System.out.println("无法将该对象解析为 int 类型。");
e.printStackTrace();
}
System.out.println(num); // 输出:0
以上是将对象解析为 int 的几种方法,根据实际场景选择合适的方法即可。