2009-09-27 26 views
19

Tôi đang làm việc trên một dự án trường học ở nhật thực toàn phần, và khi tôi cố gắng và sử dụng phương pháp isEmpty() trên String, Eclipse xuất hiện các lỗi sau:Java isEmpty() không xác định cho chuỗi?

The method isEmpty() is undefined for the type String

tôi đã chạy các bản cập nhật Java, nhưng tôi Vẫn nhận được nó. Có bất kỳ lý do nào tại sao phương pháp này sẽ không xác định?

+1

Bạn đang sử dụng Java 6? – Zed

+0

Điều này có thể giúp - http://www.buggybread.com/2012/11/error-method-contains-methodname.html –

Trả lời

31

String.isEmpty() đã được thêm vào trong Java 6. Trong các phiên bản trước, bạn có thể sử dụng StringUtils.isEmpty(String) từ thư viện Apache's commons-lang.

Để định cấu hình Eclipse để sử dụng 1,6 JRE, hãy chuyển đến Window-> Preferences-> Java-> JRE được cài đặt. Nếu bạn chưa có cấu hình JAva 1.6, hãy chọn Thêm ..., duyệt đến cài đặt 1,6 của bạn và thêm nó.

installed JREs screenshot

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

+4

Vì đây là câu hỏi dành cho người mới bắt đầu, có lẽ cần phải đề cập rõ ràng rằng lớp StringUtils là từ thư viện mã nguồn mở của bên thứ ba, Apache Commons Lang (http://commons.apache.org/lang/) – Jonik

+0

@Jonik , điểm tốt, thêm –

+0

cảm ơn các bạn, đã làm việc đó. –

8

String.isEmpty() được giới thiệu trong bản phát hành Java 1.6. Bạn có thể muốn kiểm tra phiên bản JDK nào bạn đang sử dụng cho dự án của mình. (Tôi không biết nhiều về bản thân Eclipse, nhưng nó phải ở đâu đó trong cài đặt dự án.)

+0

tuyệt vời, cảm ơn! Tôi đã có một cái nhìn và tôi đang trên 1,5, mặc dù tôi chạy bản cập nhật Java OSX cuối cùng, mà là vụ phải cập nhật lên phiên bản Java SE 6 1.6.0_05. –

+0

Kiểm tra xem bạn có thể nhận được 1.6 được thêm vào trong "Cài đặt JRE" của Ecplise như được minh họa trong câu trả lời của Rich Seller :) – Jonik

+0

@Aaron bạn khá nhiều phải tự thay đổi liên kết biểu tượng 'CurrentJDK' (nằm trong'/System/Library/Frameworks/JavaVM.framework/Phiên bản') trỏ tới 1.6 thay vì 1.5 nếu bạn muốn 1.6 làm JDK mặc định của mình. –

13

Nếu bạn không phải trên Java 6, String.Length() == 0 sẽ trả lại kết quả tương tự như String.isEmpty().

Các vấn đề liên quan