有2种方法:
public static TermsQueryBuilder termsQuery(String name, int... values) {
return new TermsQueryBuilder(name, values);
}
public static TermsQueryBuilder termsQuery(String name, Object... values) {
return new TermsQueryBuilder(name, values);
}
当我打电话
termsQuery("operatorType", 1);
它说,这是不明确的。
请帮忙 ...
所有的方法都是在Elasticsearch,例如:
public static TermsQueryBuilder termsQuery(String name, String... values) {
return new TermsQueryBuilder(name, values);
}
public static TermsQueryBuilder termsQuery(String name, int... values) {
return new TermsQueryBuilder(name, values);
}
public static TermsQueryBuilder termsQuery(String name, long... values) {
return new TermsQueryBuilder(name, values);
}
...
public static TermsQueryBuilder termsQuery(String name, Object... values) {
return new TermsQueryBuilder(name, values);
}
当我打电话termsQuery("operationType","1")
,也不含糊。
当我打电话termsQuery("operationType",1)
,模棱两可。
当我打电话termsQuery("operationType",Arrays.asList(searchParam.getOperatorType())
,也不含糊。
困惑.....
只需重命名你的方法之一或两者误差会自行消失。
与签名你的愿望,因为你的电话可以通过两种方法定义匹配你不能重载这个方法,种类int
和Object
不是在一个超类的子类的关系,所以也不是比其他更具体。
考虑
integerTermsQuery
和
objectTermsQuery
编辑
正如你在你的评论指出,随着版本String...
的参数并不冲突与Object...
和数组是协变与String
正在的子类Object
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句