2009-09-27 28 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()。