comparar con java
¿Qué es comparar con Java, entendámoslo juntos?
compareto java compara numéricamente dos objetos Double. Cuando se aplica a valores dobles básicos, las comparaciones realizadas mediante este método son las mismas que las realizadas por el operador de comparación numérica del lenguaje Java ().
1. El método detallado de compareto en Java se presenta a continuación:
1. Devuelve la diferencia entre los códigos ASC de las dos cadenas que participan en la comparación. empezar con Si las letras son diferentes, este método devuelve la diferencia en el código ASC de la primera letra.
String?a1?=?"a"; String?a2="c"; System.out.println(a1.compareTo(a2));//El resultado es -2
2. Si los primeros caracteres de las dos cadenas que participan en la comparación son iguales, compare el siguiente carácter hasta que haya una diferencia y devuelva la diferencia del código ASC de los diferentes caracteres.
String?a1?=?"aa"; String?a2=?"ad"; System.out.println(a1.compareTo(a2));//El resultado es -3
3. Si las dos cadenas no tienen la misma longitud y los caracteres que se pueden comparar son exactamente iguales, se devolverá la diferencia de longitud de las dos cadenas.
String?a1?=?"aa"; String?a2=?"aa12345678"; System.out.println(a1.compareTo(a2));//El resultado es -8
4. Un número positivo devuelto indica a1>a2, y un número negativo devuelto indica a1.
5. CompareTo no se puede utilizar para tipos numéricos. El método compareTo no se puede utilizar para comparar nt e int. Utilice mayor que (>) menor que directamente.
int?num1?=?4;int?num2?=?5; num1.compareTo(num2);//¿No se puede?invocar?compareTo(int)?en?el?tipo?primitivo?int
Primero puedes convertir tu variable int a String y luego comparar.
int?num1?=?4;int?num2?=?5;//parse?int?to?String System.out.println((num1+"").compareTo(num2+"") );//-1 System.out.println(new?Integer(num1).toString().?compareTo(new?Integer(num2).toString()));//-1 System.out.println(String .valueOf(num1).compareTo(String.valueOf(num2)));//-1
6. compareToIgnoreCase ignora mayúsculas y minúsculas.
Compara dos cadenas lexicográficamente, independientemente del caso. Este método devuelve un número entero cuyo signo es el signo de la llamada a compareTo usando una versión normalizada de la cadena cuyas diferencias de mayúsculas y minúsculas se han resuelto llamando a Character.toLowerCase(Character.toUpperCase(character) for each carácter) ) se puede eliminar.
Tenga en cuenta que este método no tiene en cuenta la configuración regional y, por lo tanto, puede producir un orden subóptimo en algunas configuraciones regionales específicas. El paquete java.text proporciona clasificadores para realizar una clasificación según la configuración regional.
7. Los tipos int se pueden comparar directamente, por lo que no se usa la comparación compareTo. Si la declaración es Fecha, Cadena, Entero u otra, la comparación compareTo se puede usar directamente.
Entero?n1?=?5;Entero?n2=?6; System.out.println(n1.compareTo(n2));//-1
2. Comparable En los métodos compareTo y compareTo en la interfaz, se debe realizar un juicio no nulo (problema estándar, por supuesto, no se requiere el tipo int).
Notas:
1. El modelo debe implementar la interfaz Comparable.
2. Collection.sort(list) llamará automáticamente a compareTo. Sin esta oración, la lista no se ordenará y no se llamará al método compareTo.
3. Si es una matriz, utilice el método Arrays.sort (a). Preste atención al juicio no vacío. No habrá juicio en este ejemplo.