我有一个包含以下金块的应用程序的堆栈跟踪:
com.google.inject.internal.util.$ComputationException
班级名称前面的$表示什么?
答案 0 :(得分:5)
在Java内部,$
字符被视为有效的标识符字符,就像字母或数字一样。但是,它通常在生成内部类等内容时由编译器在内部使用。
来自Java Language Specification:
Java字母包括大写和小写ASCII拉丁字母
A-Z
(\u0041-\u005a
)和a-z
(\u0061-\u007a
),并且由于历史原因,ASCII下划线(_
或\u005f
)和美元符号($
或\u0024
)。$
字符只能用于机械生成的源代码,或者很少用于访问旧系统上的预先存在的名称。
答案 1 :(得分:4)
这意味着ComputationException
包含在另一个类中,或者不公开显示。
答案 2 :(得分:3)
$字符只能用于机械生成的源代码,或者很少用于访问旧系统上预先存在的名称。
答案 3 :(得分:0)
类似于Google(Guice,GSON)约定来区分内部类型。