gpt4 book ai didi

java - 如何组合非常相似的方法

转载 作者:行者123 更新时间:2023-12-01 23:47:35 26 4
gpt4 key购买 nike

我有这两种几乎相同的方法。唯一的区别是方法签名。最后一个参数可以是一个对象,也可以是一个对象列表。我觉得有一种方法可以将这些结合起来,但我不知道如何。

public Query where(String selection, String operator, Object value) {


WhereClause clause = null;

try {

if (!columns.contains(selection)) {
throw new Exception("No such field for the " + model.getClass().getSimpleName() + " model: " + selection);
}

clause = new WhereClause(selection, operator, value);

} catch (Exception e) {
clause = null;
e.printStackTrace();
}

if (clause != null) {
clauses.add(clause);
}

return this;
}

public Query where(String selection, String operator, List<Object> values) {

WhereClause clause = null;

try {

if (!columns.contains(selection)) {
throw new Exception("No such field for the " + model.getClass().getSimpleName() + " model: " + selection);
}

clause = new WhereClause(selection, operator, values);

} catch (Exception e) {
clause = null;
e.printStackTrace();
}

if (clause != null) {
clauses.add(clause);
}

return this;
}

最佳答案

public Query where(String selection, String operator, Object value) 
{
ArrayList<Object> list = new ArrayList<Object>();
list.add( value );
return where(selection, operator, list);
}

编辑:

如果您错过了 Eric 的评论,您还可以使用:

List<Object> list = Collections.singletonList(value)
return where(selection, operator, list);

关于java - 如何组合非常相似的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16804969/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com