Convierte una string en un char en Java
Esta publicación discutirá cómo convertir una string que contiene exactamente un carácter a su valor de carácter primitivo equivalente en Java. Si la string contiene más de un carácter, la solución debe copiar el carácter presente en el primer índice.
1. Usando String.charAt()
método
La idea es llamar al charAt(int)
en la string especificada para recuperar el valor del carácter presente en el primer índice. Este es un enfoque estándar para convertir una string en un carácter en Java.
1 2 3 |
public static char StringToChar(String s) { return s.charAt(0); } |
2. Usando String.toCharArray()
método
Otro enfoque es convertir la string en una array de caracteres mediante el uso String.toCharArray()
y simplemente devolver el elemento presente en el primer índice.
1 2 3 |
public static char StringToChar(String s) { return s.toCharArray()[0]; } |
En Java 8 podemos hacer como,
1 2 3 4 5 |
public static char StringToChar(String s) { return s.chars() // CorrienteInterna .mapToObj(ch -> (char) ch) // Stream<Character> .toArray(Character[]::new)[0]; // Character[] } |
Podemos ahorrar algo de tiempo (y memoria) si solo necesitamos imprimir el carácter:
1 2 3 4 |
public static char StringToChar(String s) { s.chars().limit(1) .forEach(c -> System.out.print((char)c)); } |
3. Usando String.codePointAt()
método
También podemos usar el String.codePointAt()
método que devuelve el valor del punto de código del carácter presente en el índice especificado.
1 2 3 |
public static char StringToChar(String s) { return (char)s.codePointAt(0); } |
También podemos usar String.codePointBefore()
método, que es similar a String.codePointAt()
método, excepto que devuelve el valor del punto de código del carácter presente antes de el índice especificado.
1 2 3 |
public static char StringToChar(String s) { return (char)s.codePointBefore(1); } |
4. Uso String.getChars()
método
Aquí, la idea es construir una array de caracteres vacía de tamaño 1 y llenarla con el primer carácter de la string usando el String.getChars()
método.
1 2 3 4 5 |
public static char StringToChar(String s) { char[] dest = new char[1]; s.getChars(0, 1, dest, 0); return dest[0]; } |
Se trata de convertir un String en un char en Java.