对于Eclipse 1.7编译器中的类型String,"isEmpty()是未定义的"?

Syn*_*ter 4 java eclipse string

可能重复:
对于String,Java isEmpty()是否未定义?

我将我的代码从一个java项目复制到另一个java项目,我得到错误:

对于String类型,方法isEmpty()未定义

但是同样isEmpty()适用于检查原始程序中的字符串.

相反,我可以使用str.length()==0.但想知道这是什么原因?

[edit] 所有这些都是在同一台机器上的同一个eclipse编译器版本1.7中完成的.即Windows - > Preferences - > Java - > Compiler,我发现"编译器合规级别为1.7".包括isEmpty工作的原始程序和不工作的新程序.

我的另一个项目isEmpty工作得很好.我创建了一个新的项目并复制了一部分具有isEmpty的代码,我收到了这个错误.

Hov*_*els 9

isEmpty是Java 1.6中的一个方法,您的问题是Eclipse的Java编译器合规性级别设置为<1.6.解决方案是进入Eclipse的首选项并将编译器的合规性级别设置为1.6或更高.

菜单:

Windows - >首选项 - > Java - >编译器.


在评论中编辑 SyncMaster状态:

...我发现"编译器合规性级别为1.7".
...我创建了一个新的项目并复制了一部分具有isEmpty的代码,我收到了这个错误

解决方案:我上面描述的是"主"合规级别,但每个项目都可以覆盖它.要检查项目的合规性级别,请在Eclipse的包浏览器中右键单击该项目Properties,然后单击"确定" Java Compiler.然后,您可以决定是否启用项目特定的设置以及这些设置应该是什么.