Foros del Web » Programación para mayores de 30 ;) » Java »

Como comparar un char[] con un string?

Estas en el tema de Como comparar un char[] con un string? en el foro de Java en Foros del Web. Hola. Pues tengo ese problema, que tengo que comparar un String, en la que realmente recojo solo una letra, con un char[]. Y no consigo ...
  #1 (permalink)  
Antiguo 22/07/2011, 18:10
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 1 mes
Puntos: 3
Como comparar un char[] con un string?

Hola.
Pues tengo ese problema, que tengo que comparar un String, en la que realmente recojo solo una letra, con un char[].
Y no consigo hacerlo, ni buscando por la red.
He probado cn equals, con ==, cambiar el string a char,y viceversa... y no hay manera.
Código HTML:
if(letraString.equals(caracter[i]))
if(letraSelec==caracteres[i])
...
Realmente el problema es parecido al este tema, pero no le he conseguido resolver:
http://www.forosdelweb.com/f45/ayuda...string-819930/

Alguien me podía decir en qué fallo?
O qué puede ser el error?
No doy con ello...
Muchas gracias
  #2 (permalink)  
Antiguo 22/07/2011, 18:17
 
Fecha de Ingreso: enero-2008
Mensajes: 197
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Como comparar un char[] con un string?

Hola,

Convierte el arreglo de char a un objeto String con algo como new String(char_array).

Despues comparas los strings, puedes validar null y trim por ejemplo antes de comparar para asegurarte de que el valor sea lo que vas a comparar.

StringUno.trim().equals(StringDos.trim())

Y listo.

No puedes comparar dos objetos String con "==" ya que no son Objetos iguales *. Lo que necesitas es comparar sus valores y eso se hace con el metodo equals.

* a menos que hagas StringUno.intern() == StringDos.intern() solo asi SI podrias comparar dos Objetos String con ==


Saludos
  #3 (permalink)  
Antiguo 22/07/2011, 18:23
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Como comparar un char[] con un string?

Gracias por su respuesta!!
Pero no entiendo como tengo que convertir el arreglo del char a un objeto string. Me podías decir como sería?

Código HTML:
					String stringDos=String stringDos=new String(elChar[i]);
					if(StringUno.trim().equals(StringDos.trim())){
Porque esto me dá error.... no es así. No convierto bien lo que usted me dice.
Gracias, y espero que me pueda responder.
  #4 (permalink)  
Antiguo 22/07/2011, 18:35
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 10 meses
Puntos: 16
Respuesta: Como comparar un char[] con un string?

Hola,

Asi se convierte

char data[] = {'a', 'b', 'c'};
String str = new String(data);

tomado de:

http://download.oracle.com/javase/6/docs/api/java/lang/String.html

Espero sea de ayuda
__________________
Saludos desde Colombia.
http://labs.distrit.co
  #5 (permalink)  
Antiguo 22/07/2011, 18:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Como comparar un char[] con un string?

Jo, pues no me funciona...
A ver, yo lo que intento, es que tengo una letra, que tengo que saber si está en esa palabra. Sé si está con indexOf, y eso me lo hace bien...
Y ya teniendo la letra, que es un String. La tengo que buscar en esa palabra, y saber la posición.
En principio la palabra es un string, pero la convierto y hago esto:

Código HTML:
char[] caracteres = new char[palabra.length()];
				for (int i = 0; i < tamanoPalabra; i++) {
					String str = new String(caracteres);
					if(letraSelec.trim().equals(str.trim())){
						System.out.println("letra encontrada"+caracteres[i]+", en posicion: "+i);

					}
Pero no funciona!!
Gracias por responder.
  #6 (permalink)  
Antiguo 24/07/2011, 11:31
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Como comparar un char[] con un string?

Ya por fin lo solucioné!!
Por si a alguien le hace falta...
La palabra la pasé a char[], y la letra con charAt.
Después, sólo con igualarlas funciona!!
Aquí va el código:
Código HTML:
char[] palabraChar = palabraAle.toCharArray();
char letraChar=letraSelec.charAt(0);
while(letraChar==palabraChar[i]){
...
}
Gracias a todos

Etiquetas: char
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:28.