java - R.java 中的奇怪错误,即使在清理项目 : "Underscores can only be used with source level 1.7 or greater" 之后

标签 java android eclipse android-resources

所以一切都非常顺利,直到不久前 R.java 决定在添加图标(5_content_new.png,确切地说是 5_content_new.png)后出现此错误。

我已经尝试清理项目并重新启动 eclipse,但无济于事。

问题代码:

public static final class drawable {
    public static final int 5_content_new=0x7f020000;
    public static final int ic_launcher=0x7f020001;
    ...
}

红线出现在 5_ 的正下方,错误说:

下划线只能用于源级别 1.7 或更高级别

有没有人遇到过这样的问题?

最佳答案

这是两件事的结合:

  1. Java 标识符不能以数字开头。第一个字符应该是一个字母。

  2. 在 Java 7 中,他们引入了整数文字的替代语法;例如1_0001000 相同。

所以发生的事情是编译器将 5_content_new 解析为 5_content_new ...如果源级别是 Java 7,这是合理的,然后告诉你您没有使用 Java 7。如果您一直在使用 Java 7,那么该编译错误将被一个表示整型文字 (5_) 在此时不合法的错误所取代。

简而言之,代码包含一些非常“离奇”的东西,以至于编译器编写者在编译器诊断代码中没有预料到它。


另一点是,在 Java 中的变量、方法、类或包名称中使用任何下划线都是风格违规。下划线只能用于全部大写的常量名称,例如“MAX_VALUE”。

关于java - R.java 中的奇怪错误,即使在清理项目 : "Underscores can only be used with source level 1.7 or greater" 之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15037450/

相关文章:

java - 接收java.sql.SQLException : out of memory

java - Android 中的读写器任务队列

eclipse - Eclipse 和 Maven 多模块项目的问题

OSX 10.5.6 中的 Eclipse 键盘快捷键被破坏

java - Eclipse java 中的默认语法颜色

java - 算术右移存在哪些实际用例?

java - 作为制作人我可以删除主题吗?或者我可以在写主题之前删除它们吗

java - Spring Bean 注入(inject)中的 ClassNotFoundException

android - 带有图像的滚动列表上的 Android 应用程序内存不足

java - 按钮无 react