了解NoSuchMethod异常中的方法签名


问题内容

我遇到了例外,但已解决。

java.lang.NoSuchMethodError: antlr.NoViableAltForCharException.<init>
(CLjava/lang/String;II)V

但是我想知道如何解释这些消息:“(CLjava / lang / String; II)V”另外,此“
init”是否提到NoViableAltForCharException类的构造函数?

谢谢。


问题答案:

键入签名-
从此页面获取

JNI使用Java VM的类型签名表示。表3-2显示了这些类型签名。

Z                               boolean
B                               byte
C                               char
S                               short
I                               int
J                               long
F                               float
D                               double
L fully-qualified-class ;       fully-qualified-class
[ type                          type[]
( arg-types ) ret-type          method type

例如,Java方法:

long f (int n, String s, int[] arr);

具有以下类型签名:

(ILjava/lang/String;[I)J