Java库中对重载定义的含糊不清的引用

用户名

我想将JsonPath的这个示例转换为Scala。使用Java应该很容易,例如:

List<String> authors = JsonPath.read(json, "$.store.book[*].author");

我将其转换为此Scala:

val authors = JsonPath.read(json, "$.store.book[*].author");

其中json是一个字符串。但是我得到了这个编译错误。

ambiguous reference to overloaded definition, both method read in object JsonPath of type [T](x$1: String, 
 x$2: String, x$3: <repeated...>[com.jayway.jsonpath.Filter[_]])T and method read in object JsonPath of type 
 [T](x$1: Any, x$2: String, x$3: <repeated...>[com.jayway.jsonpath.Filter[_]])T match argument types 
 (String,String)

我认为与

public static <T> T read(Object json, String jsonPath, Filter... filters) 

public static <T> T read(String json, String jsonPath, Filter... filters) 

来自com.jayway.jsonpath.JsonPath(版本0.9.1)。

如何消除此函数调用的歧义?

阿列克谢·罗曼诺夫(Alexey Romanov)

对于这种特定情况,您可以做

JsonPath.read(json.asInstanceOf[Object], "$.store.book[*].author")

这只会匹配一种重载方法(采用的方法Object)。大概方法调用json.toString很简单,因为我们已经有一个了String

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Scala错误对重载定义的含糊不清的引用

来自分类Dev

Java重载:对调用的引用含糊不清

来自分类Dev

Java:对..的引用含糊不清,方法中的method1和method2都匹配

来自分类Dev

C ++重载函数指针含糊不清

来自分类Dev

C ++重载函数指针含糊不清

来自分类Dev

对模板类的含糊不清的引用(C ++)

来自分类Dev

Java varargs 方法重载编译器错误 - 含糊不清?

来自分类Dev

错误:使用复制和交换习惯的交换函数中的'operator ='含糊不清的重载

来自分类Dev

XCGLogger:对成员“ log”的含糊不清的引用

来自分类Dev

尤里卡:对成员“ +++”的含糊不清的引用

来自分类Dev

在字典上对成员“下标”的引用含糊不清

来自分类Dev

数组扩展,对成员“下标”的含糊不清的引用

来自分类Dev

对“列表”的引用含糊不清,包括头文件

来自分类Dev

对成员'dataTask(with:completionHandler :)的含糊不清的引用

来自分类Dev

含糊不清地使用“ ??”

来自分类Dev

成员“下标”含糊不清

来自分类Dev

系列的真值含糊不清

来自分类Dev

春季简介含糊不清

来自分类Dev

这是为什么Java方法调用认为含糊不清?

来自分类Dev

在css中悬停时含糊不清的dop down菜单

来自分类Dev

char *和char [N]含糊不清

来自分类Dev

测试时含糊不清的方法

来自分类Dev

效率极低且含糊不清的代码

来自分类Dev

为什么这个电话含糊不清?

来自分类Dev

对成员“计数”的含糊不清

来自分类Dev

含糊不清地使用“密钥”

来自分类Dev

含糊不清地使用“密钥”

来自分类Dev

bash脚本环境/结果含糊不清

来自分类Dev

使用类型化集合时编译错误含糊不清地引用方法

Related 相关文章

热门标签

归档