2009-09-27 20 views
19

Estoy trabajando en un proyecto escolar en Eclipse, y cuando intento y utilizar el método en un isEmpty()String, Eclipse aparece el siguiente error:Java isEmpty() undefined para String?

The method isEmpty() is undefined for the type String

me he encontrado las actualizaciones de Java, pero estoy todavía lo entiendo ¿Hay alguna razón por la cual este método no esté definido?

+1

¿Estás en Java 6? – Zed

+0

Esto podría ayudar - http://www.buggybread.com/2012/11/error-method-contains-methodname.html –

Respuesta

31

String.isEmpty() se ha agregado en Java 6. En versiones anteriores, puede usar StringUtils.isEmpty(String) en la biblioteca Apache's commons-lang.

Para configurar Eclipse para usar el 1.6 JRE, vaya a Ventana-> Preferencias-> Java-> JRE instalados. Si aún no ha configurado JAva 1.6, seleccione Agregar ..., busque la instalación 1.6 y agréguela.

installed JREs screenshot

configure JREs screenshot http://www.lumidant.com/blog/wp-content/uploads/2008/01/eclipse_edit_jre.png

+4

Como esta es una pregunta para principiantes, quizás debería mencionarse explícitamente que la clase StringUtils es de una biblioteca de fuente abierta de terceros, Apache Commons Lang (http://commons.apache.org/lang/) – Jonik

+0

@Jonik , buen punto, agregó –

+0

gracias chicos, funcionó. –

8

String.isEmpty() se introdujo en Java versión 1.6. Es posible que desee comprobar qué versión de JDK está utilizando para su proyecto. (No sé mucho sobre Eclipse, pero debería estar en algún lugar de la configuración del proyecto.)

+0

genial, gracias! Acabo de echar un vistazo y estoy en 1.5, a pesar de que ejecuté la actualización de las últimas OSX java, que se supone que debe actualizar a Java SE 6 versión 1.6.0_05. –

+0

Comprueba si puedes agregar 1.6 en los "JRE instalados" de Ecplise como se ilustra en la respuesta de Rich Seller :) – Jonik

+0

@ Aaron tienes que cambiar manualmente el enlace simbólico 'CurrentJDK' (ubicado en'/System/Library/Frameworks/JavaVM.framework/Versions') para apuntar a 1.6 en lugar de 1.5 si quiere 1.6 como su JDK predeterminado. –

13

Si no estás en Java 6, String.length() == 0 devolverá el mismo resultado que String.isEmpty().