Dado String str que contiene dígitos como caracteres, la tarea es convertir esta string dada en entero en Java.
Ejemplos:
Input: str = "1234" Output: 1234 Input: str = "213s" Output: 0 Since the String contains other than digits, hence the integer value will be 0
- Método 1: Usar el método Integer.parseInt()
Este es el método más simple para convertir strings a enteros. Esta función analiza el argumento de string como un entero decimal con signo.Sintaxis:
public static int parseInt(String s) throws NumberFormatException
A continuación se muestra la implementación del enfoque anterior:
// Java program to convert String to int
// using Integer.parseInt() method
import
java.io.*;
class
GFG {
// Function to convert String to integer
public
static
int
convert(String str)
{
int
val =
0
;
System.out.println(
"String = "
+ str);
// Convert the String
try
{
val = Integer.parseInt(str);
}
catch
(NumberFormatException e) {
// This is thrown when the String
// contains characters other than digits
System.out.println(
"Invalid String"
);
}
return
val;
}
// Driver code
public
static
void
main(String[] args)
{
String str =
"1234"
;
int
val = convert(str);
System.out.println(
"Integer value = "
+ val);
System.out.println();
str =
"123s"
;
val = convert(str);
System.out.println(
"Integer value = "
+ val);
}
}
Producción:String = 1234 Integer value = 1234 String = 123s Invalid String Integer value = 0
- Método 2: Usar el método Ints::tryParse de la biblioteca Guava
Otro método para convertir String a entero es usar el método Ints::tryParse de la biblioteca Guava. Es similar al método Integer.parseInt(), pero este método es más conciso y poderoso.Sintaxis:
public static Integer tryParse(String s)
A continuación se muestra la implementación del enfoque anterior:
// Java program to convert String to int
// using Ints::tryParse method
import
java.io.*;
import
java.util.*;
import
com.google.common.primitives.Ints;
class
GFG {
// Function to convert String to integer
public
static
int
convert(String str)
{
int
val =
0
;
System.out.println(
"String = "
+ str);
// Convert the String
val = Optional.ofNullable(str)
.map(Ints::tryParse)
.orElse(
0
);
return
val;
}
// Driver code
public
static
void
main(String[] args)
{
String str =
"1234"
;
int
val = convert(str);
System.out.println(
"Integer value = "
+ val);
System.out.println();
str =
"123s"
;
val = convert(str);
System.out.println(
"Integer value = "
+ val);
}
}
Producción:String = 1234 Integer value = 1234 String = 123s Integer value = 0