Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/10/2010, 19:08
Darkhogg
 
Fecha de Ingreso: octubre-2010
Mensajes: 9
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Tratamiento de Strings

No sé qué cacao mental llevas en la cabeza, pero en ese código hay una cantidad alta de errores, y viendo tu nick creo saber perfectamente de dónde vienen. Veamos:
  • No puedes acceder a las componentes de un String como si se tratase de un array. En su lugar, usa String#charAt, que devuelve un valor de tipo char
  • El operador de igualdad, ==, cuando se aplica a objetos (String es un objeto), no compara los objetos, sino las referencias, es decir, devuelve true si los dos objetos son EL MISMO. Para comparar objetos, utiliza Object#equals.
  • Las cadenas de texto comienzan su indexación en 0, no en 1, y terminan en length()-1
  • El objeto String es inmutable, es decir, una vez construido, no puede cambiar. Esto puede ser desconcertante al principio pero es el motivo de que los objetos String se puedan compartir y publicar sin riesgo y sin necesidad de realizar copias defensivas. A la vez añade un nivel de complejidad (tanto computacional como en implementación) a operaciones casi triviales en otros lenguajes, pero hay alternativas (StringBuilder, por ejemplo).