En mi aplicación de Android no puedo usar la función String.isEmpty () que se encuentra en JDK 1.6. Android 2.1 lib no tiene esta función en la clase java.lang.String
Intenté ingresar la biblioteca del sistema JRE en mi proyecto, porque tiene esta función, pero no hubo efectos.
¿Cómo puedo resolver este problema y permitir que mi aplicación use esta función?
Respuestas:
No puedes.
Úselo en su
String.length() == 0
lugar. Es compatible con versiones anteriores desde JDK 1.0 ... y también con J2ME.String.equals("")
es otra alternativa.No, si desea que su aplicación se ejecute en un dispositivo Android real . Las plataformas Java / Android intencionalmente le dificultan jugar con el comportamiento de las bibliotecas de clases principales. Para empezar, solo puede hacerlo modificando el equivalente de Davlik de bootclasspath o
rt.jar
archivo, y ninguno de estos se puede hacer dentro de una JVM en ejecución.Ese tipo de retoques tiene el riesgo de romper potencialmente Java para otras aplicaciones. Incluso suponiendo que no pueda comprometer la separación de aplicaciones de Android directamente (debido a la separación de proceso / uid que se menciona a continuación), los ajustes maliciosos en las clases centrales de Java (compartidas) podrían permitir que una aplicación interfiera o robe información de otra aplicación. .
fuente
String
eso no tiene ningún efecto en otras aplicaciones.En su lugar, puede usar android.text.TextUtils.isEmpty () . Este método también verifica si la cadena es nula y ha estado disponible desde el nivel 1 de API.
if (TextUtils.isEmpty(str)) { Log.d(TAG, "String is empty or null!"); }
fuente
este método apareció en API9, por lo que no puede usarlo antes de Android2.3
fuente
Puedes usar esto
TextUtils.isEmpty(str)
. Esto está disponible desde el nivel de API 1 o puede crear su propio método como a continuaciónpublic boolean isEmpty(CharSequence str) { if (str == null || str.length() == 0) return true; else return false; }
fuente
return (str == null || str.length() == 0);
, ¿verdad?Hasta donde yo sé, Android es compatible con Java 5, por lo que no hay nada
isEmpty();
que pueda usarlength()
para simularisEmpty()
fuente
"" .equals (yourString); también da el mismo comportamiento que String.isEmpty ();
fuente
null
viene lo inesperado y solucionar ese problema . El"".equals(yourString)
enfoque solo es una buena solución si elnull
valor deyourString
es significativo ... y esperado.Debe actualizar la API de Android al nivel 9, o usar
String.trim().length()==0
o en suString.equals("")
lugar, debería funcionar para su nivel de API de Android y su versión de JDK.fuente
" "
no está vacía! ¿Por qué sugieres recortar la cuerda?" ".trim()
estará vacío !!! ¿Sabes eso? ¡No califiques si NO entiendes mi descripción!String.trim().length()==0
yString.equals("")
devuelve resultados diferentes cuandoString = " "
. El segundo fragmento es correcto