在本教程中,我们将看到将Java中的String转换为int(或Integer)的各种方法。
您可以使用以下任何一种方式:
–使用Integer.parseInt(string)
–使用Integer.valueof(string)
–使用Apache Commons NumberUtils.toInt(string)
–使用Apache Commons NumberUtils.createInteger(string)
–使用Guava库的Ints.tryParse(string)方法
–使用Integer.decode(string)
–使用新的整数(字符串)
使用Integer.parseInt(string)
String empId1 = "1001";
int intEmpId1 = Integer.parseInt(empId1);
System.out.println(intEmpId1);
Output :
1001
在以下情况下,Integer.parseInt()将引发NumberFormatException:
/ Alphabets in the input.
Integer.parseInt("100AB");
//Input number is greater than the Integer range.
Integer.parseInt("2147483648");
//Number with decimal
Integer.parseInt("1.1");
//empty String
Integer.parseInt("");
//Blank space
Integer.parseInt(" ");
使用Integer.valueof(string)
String empId2 = "2001";
Integer integerEmpId2 = Integer.valueOf(empId2);
System.out.println(integerEmpId2);
Output :
2001
使用Apache Commons NumberUtils.toInt(string)
String empId3 = "3001";
int intEmpId3 = NumberUtils.toInt(empId3);
System.out.println(intEmpId3);
Output :
3001
int intEmpId4 = NumberUtils.toInt(null);
System.out.println(intEmpId4);
Output :
0
int intEmpId5 = NumberUtils.toInt("1001ABC");
System.out.println(intEmpId5);
Output :
0
int intEmpId6 = NumberUtils.toInt("1001ABC", 10);
System.out.println(intEmpId6);
Output :
10
使用Apache Commons NumberUtils.createInteger(string)
String empId4 = "4001";
Integer integerEmpId7 = NumberUtils.createInteger(empId4);
System.out.println(integerEmpId7);
Output :
4001
使用Guava库的Ints.tryParse(string)方法
String empId5 = "5001";
Integer integerEmpId8 = Ints.tryParse(empId5);
System.out.println(integerEmpId8);
Output :
5001
使用Integer.decode(string)
String empId6 = "6001";
Integer integerEmpId9 = Integer.decode(empId6);
System.out.println(integerEmpId9);
Output :
6001
使用新的整数(字符串)
String empId7 = "7001";
Integer integerEmpId10 = new Integer(empId7);
System.out.println(integerEmpId10);
Output :
7001
但是,请记住,从Java9开始不推荐使用此Integer构造函数。
完成程序
package com.blogspot.javasolutionsguide.stringtointexample;
import org.apache.commons.lang3.math.NumberUtils;
import com.google.common.primitives.Ints;
public class StringToInt {
public static void main(String[] args) {
String empId1 = "1001";
int intEmpId1 = Integer.parseInt(empId1);
System.out.println(intEmpId1);
String empId2 = "2001";
Integer integerEmpId2 = Integer.valueOf(empId2);
System.out.println(integerEmpId2);
String empId3 = "3001";
int intEmpId3 = NumberUtils.toInt(empId3);
System.out.println(intEmpId3);
int intEmpId4 = NumberUtils.toInt(null);
System.out.println(intEmpId4);
int intEmpId5 = NumberUtils.toInt("1001ABC");
System.out.println(intEmpId5);
int intEmpId6 = NumberUtils.toInt("1001ABC", 10);
System.out.println(intEmpId6);
String empId4 = "4001";
Integer integerEmpId7 = NumberUtils.createInteger(empId4);
System.out.println(integerEmpId7);
String empId5 = "5001";
Integer integerEmpId8 = Ints.tryParse(empId5);
System.out.println(integerEmpId8);
String empId6 = "6001";
Integer integerEmpId9 = Integer.decode(empId6);
System.out.println(integerEmpId9);
String empId7 = "7001";
Integer integerEmpId10 = new Integer(empId7);
System.out.println(integerEmpId10);
// Alphabets in the input.
Integer.parseInt("100AB");
//Input number is greater than the Integer range.
Integer.parseInt("2147483648");
//Number with decimal
Integer.parseInt("1.1");
//empty String
Integer.parseInt("");
//Blank space
Integer.parseInt(" ");
}
}
使用的依赖项:
org.apache.commons
commons-lang3
3.9
com.google.guava
guava
16.0.1
摘要
因此,在本教程中,我们看到了
–如何在Java中将String转换为int(或Integer)。 –在大多数情况下,如果需要int或Integer,则可以使用Integer.parseInt()和Integer.valueOf() 分别来自String并希望避免依赖第三方库。 – NumberUtils。 toInt ()可用于不希望我们的程序由于NumberFormatException而失败的情况。
翻译自: https://www.javacodegeeks.com/2020/03/how-to-convert-string-to-int-in-java.html