Java 反编译器给出了奇怪的符号

Java decompiler gives strange symbols

我正在使用 Java 反编译器,它似乎给出了一个合理的代码,除了它给出了常量整数的奇怪符号。例如:

#int[] arr = new int['田'];

这个符号在U+7530中有一个数值。我想知道将此符号恢复为数值是否有效,或者我不能依赖此机制?

我的问题是此代码给出了数组越界异常,因此调整数组的大小非常重要。

在字节码级别,局部变量没有布尔值、字节、字符、短整型和整数之分。一切都只是在引擎盖下编译为整数,并在适当的地方插入截断指令。

这意味着反编译器必须任意决定将其反编译为哪种类型(假设没有调试元数据)。看起来您的反编译器决定将整数常量反编译为字符常量。