2009-09-27 88 views
19

我工作在日食一所学校的项目,当我尝试使用isEmpty()方法上String,Eclipse中显示了以下错误:Java isEmpty()undefined for String?

The method isEmpty() is undefined for the type String

我已经运行Java的更新,但我仍然得到它。这个方法为什么会是未定义的?

+1

你在使用Java 6吗? – Zed 2009-09-27 13:03:32

+0

这可能有帮助 - http://www.buggybread.com/2012/11/error-method-contains-methodname.html – 2014-10-25 23:56:31

回答

31

String.isEmpty()被添加到Java 6中。在早期版本中,您可以使用来自Apache's commons-lang库的StringUtils.isEmpty(String)

要配置Eclipse以使用1.6 JRE,请转到Window-> Preferences-> Java-> Installed JRE。如果您还没有配置JAva 1.6,请选择Add ...,浏览到您的1.6安装并添加它。

installed JREs screenshot

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

+4

由于这是一个初学者问题,所以应该明确提到StringUtils类来自第三方开源库Apache Commons Lang(http://commons.apache.org/lang/) – Jonik 2009-09-27 13:13:04

+0

@Jonik ,好点,加上 – 2009-09-27 13:19:07

+0

感谢球员,让它工作。 – 2009-09-27 13:23:02

8

String.isEmpty()是在Java 1.6版本中引入的。您可能想要检查您的项目使用的JDK版本。 (我自己对Eclipse不太了解,但它应该在项目设置中的某处)。

+0

太好了,谢谢!我刚刚看了一下,我在1.5上,尽管我运行了OSX java update,它应该更新到Java SE 6 1.6.0_05版本。 – 2009-09-27 13:12:20

+0

检查你是否可以在Ecplise的“Installed JREs”中添加1.6,如Rich Seller的答案所示:) – Jonik 2009-09-27 13:16:19

+0

@Aaron你几乎必须手动更改'CurrentJDK' sym-link(位于'/ System/Library/Frameworks/JavaVM.framework/Versions')指向1.6而不是1.5,如果你想要1.6作为默认的JDK。 – 2009-09-27 15:02:56

13

如果你不是在Java 6,string.length减()== 0将返回相同的结果String.isEmpty()。