String name1 = editText1.getText().toString();
String name2 = editText2.getText().toString();
Para comparar particul ar char
s en su Cadena, puede usar el método char charAt(int)
también del tipo String
. Aquí es ejemplo el uso:
if(name1.charAt(2) == name2.charAt(0)){
// Do your stuff
}
Hay que recordar que char charAt(int)
es cero basada en lo que 0 es primero, es 1 segundo y así sucesivamente. Y en este ejemplo puede ver que comparé dos caracteres al igual que compararía int
egers - con simple ==
.
La comparación de enteros String
s:
// This returns true if Strings are equal:
name1.contentEquals(name2);
// This returns 0 if Strings are equal:
name1.compareTo(name2);
para que sea sensible a mayúsculas puede utilizar el método de String
tipo toLowerCase()
en ambos String
s.
name1.equalsIgnoreCase(name2);
o:
name1.toLowerCase().contentEquals(name2.toLowerCase());
charAt() se define en CharSequence, y sería menos eficiente convertirlos a cadenas primero - quizás ni siquiera sea posible (no hay restricción en CharSequence para sugerir que todos los caracteres que contiene deben poder caber en la memoria). – Jules
Respondo en segundo lugar @Jules. Si va a comparar CharSequences, debe implementar algo similar a java.util.Arrays.equals (char [], ch ar []) y guárdelos como CharSecuencias y use charAt donde vea acceso a la matriz. http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Arrays.java#Arrays.equals%28char%5B%5D%2Cchar%5B% 5D% 29 – LINEMAN78