gpt4 book ai didi

java - 注释中的代码导致编译失败 - 为什么?

转载 作者:行者123 更新时间:2023-12-03 23:05:11 26 4
gpt4 key购买 nike

这可能看起来很奇怪,但注释中的文本导致我的代码无法编译。 (这是反编译后的代码;我通常不会这样格式化)。

注释(在文件的最后;由反编译器自动添加):

/* Location:           C:\Pokechu22\TestServer\plugins\uSkyBlock.jar

* Qualified Name: us.talabrek.ultimateskyblock.uSkyBlock

* JD-Core Version: 0.7.0.1

*/

这是它在 eclipse 中的样子。

Image of the oddness

以下是确切的错误消息(这些是唯一的错误消息,并且都在一条评论中):

    Description                                  Resource       Path                                                    Location        Type      Core cannot be resolved to a type            uSkyBlock.java /SO_UnicodeEscapeError/src/us/talabrek/ultimateskyblock line 2009       Java Problem      Invalid unicode                              uSkyBlock.java /SO_UnicodeEscapeError/src/us/talabrek/ultimateskyblock line 2005       Java Problem      Qualified cannot be resolved to a type       uSkyBlock.java /SO_UnicodeEscapeError/src/us/talabrek/ultimateskyblock line 2007       Java Problem  

plugins 的错误是 eclipse 提示拼写错误:The word 'plugins' is not correctly spelled

这对我来说很容易解决 - 我可以删除该评论 - 但为什么会发生这种情况?注释中的代码不应该被完全忽略吗?


编辑:作为附加说明,所有错误都在注释 block 内,删除注释 block 允许代码编译。这不是这里的问题。我的问题是为什么 java 根本不关心评论中的文本?

最佳答案

问题是字符串 \u 被 Eclipse 解释为 unicode 字符的前缀,而在这里它只是注释中文件名的一部分。删除此错误的唯一方法是删除 \u 部分,例如,如果要在 javadoc 中显示,则将其替换为 \u ,或转义反斜杠字符:\\u

请注意,这是 Eclipse 的一个已知“错误”,请参阅:Bug 6677 Bug 10753

虽然这种行为与 Java 规范一致,因为 Java 注释可以包含 unicode 字符:

Except for comments, identifiers, and the contents of character and string literals, all input elements in a program are formed only from ASCII characters (or Unicode escapes which result in ASCII characters).

§3.1

关于java - 注释中的代码导致编译失败 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25839301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com