¿Por qué char array proporciona String cuando se imprime en el método System.out.println ()?

Habría encontrado este problema cuando intentó hacer algo como esto:

Programa de clase pública {
public static void main (String [] args) {
char [] charArray = new char [] {‘A’, ‘B’, ‘C’, ‘D’, ‘1’, ‘2’, ‘3’};
System.out.println (charArray); // Salida: ABCD123
}
}

Si inmediatamente intenta imprimir la matriz de caracteres utilizando la instrucción sysout, imprime el elemento uno tras otro, lo que hace que parezca una Cadena.

Esto no es una cadena, sino una serie de caracteres en sí. Puede verificarlo verificando el tipo de variable de charArray usando esto: charArray.getClass().getSimpleName()

Para imprimir cada elemento de matriz en una línea separada o trabajar con un elemento individualmente, use el bucle foreach. Ejemplo:

public static void main (String [] args) {
char [] charArray = new char [] {‘A’, ‘B’, ‘C’, ‘D’, ‘1’, ‘2’, ‘3’};
para (char c: charArray) {
System.out.println (c); // imprime cada carácter en una línea separada
}
}