所以一切都非常顺利,直到不久前 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 或更高级别
有没有人遇到过这样的问题?
最佳答案
这是两件事的结合:
Java 标识符不能以数字开头。第一个字符应该是一个字母。
在 Java 7 中,他们引入了整数文字的替代语法;例如
1_000
与1000
相同。
所以发生的事情是编译器将 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/