0

此错误消息说明缺少构造函数的签名是什么?

引起:java.lang.NoSuchMethodError: org.apache.thrift.transport.TSocket.(Ljava/lang/String;III)V

这是否意味着没有带有单个 String 参数的构造函数?我更感兴趣的是知道“III”和“V”是干什么用的。

谢谢。

4

2 回答 2

6

当您看到Ljava/lang/String;时,是的,这是String签名中的 a,这是第一个。

三个Is 表示三个附加int参数。

在结束括号之后,V表示返回类型为void.

签名正在(String, int, int, int)返回void

此页面包含每个符号含义的列表。

于 2013-07-31T00:19:43.870 回答
2

它正在寻找构造函数(String, int, int, int)
V 的意思是void. 构造函数返回void,这是签名末尾的 V 的原因。

(Ljava/lang/String;III)V

Ljava/语言/字符串;(L 完全合格级;)

三(整数,整数,整数)

V -> 返回类型 void

此链接可能会帮助您输入

For example, the Java method:

long f (int n, String s, int[] arr); 
has the following type signature:

(ILjava/lang/String;[I)J 
于 2013-07-31T00:23:59.130 回答