Java “为什么会有?”;没有匹配的ctor“;对于看似明确的类型暗示构造函数调用?

Java “为什么会有?”;没有匹配的ctor“;对于看似明确的类型暗示构造函数调用?,java,clojure,interop,type-hinting,Java,Clojure,Interop,Type Hinting,使用Clojure中的Netty,以下理论上明确的构造函数调用无法解析,无论是草书(它错误地列出了消除歧义的3-arity选项)还是REPL(它抛出了IllegalArgumentException没有匹配的构造函数)。联合国暗示的版本也以同样的方式失败 (DefaultFullHttpResponse.protocol状态^ByteBuf缓冲区) 可用的构造函数签名包括: HttpVersion HttpResponseStatus HttpVersion HttpResponseStat

使用Clojure中的Netty,以下理论上明确的构造函数调用无法解析,无论是草书(它错误地列出了消除歧义的3-arity选项)还是REPL(它抛出了
IllegalArgumentException
没有匹配的构造函数)。联合国暗示的版本也以同样的方式失败

(DefaultFullHttpResponse.protocol状态^ByteBuf缓冲区)
可用的构造函数签名包括:

  • HttpVersion HttpResponseStatus
  • HttpVersion HttpResponseStatus ByteBuf← 由arity+单一类型提示明确标识
  • HttpVersion HttpResponseStatus布尔值
  • HttpVersion HttpResponseStatus布尔值
  • HttpVersion HttpResponseStatus ByteBuf布尔值
  • HttpVersion HttpResponseStatus ByteBuf布尔值
  • HttpVersion HttpResponseStatus ByteBuf HttpHeaders HttpHeaders

为什么?

我通过“冗余地”暗示第一个论点也能做到这一点:

(DefaultFullHttpResponse.^HttpVersion协议状态^ByteBuf缓冲区)

这太令人惊讶了

你会发布一个完整的、最小的项目(总共可能有十几行)来重现这个问题吗?您已经分享了一个有点暴力的解决方案,但对原始问题的回答将是很有启发性的。