我有一种在数据库中插入对象列表的方法:
public void insert(List<Object> objects){
}
现在,我需要插入一个对象。我不想创建一个可以插入单个对象的新方法,因为它会重复很多代码,所以我要执行以下操作:
public void insert(Object object){
List<Object> objects = new ArrayList<>();
objects.add(object);
insert(objects);
}
我不知道上面的方法是否正确,我对Java的了解很高,所以我不知道将对象转换为排列的系统的成本是多少,这是否是一种好的开发技术。或者,如果按照某种模式或约定,我必须创建一种方法来插入单个对象。
答案 0 :(得分:1)
您的模式没有什么不好的。不过,您可以通过更智能的方式初始化列表:
public void insert(Object object){
insert(Arrays.asList(object));
}
答案 1 :(得分:1)
这是方法重载,而这正是做这种事情的方式。
不过,您可以通过使其更短并删除不必要的变量来改进它,如下所示:-
public void insert(Object object){
insert(Collections.singletonList(object));
}
您可以考虑的一件事是是从insert(List<Object> objects)
内部调用insert(Object object)
还是相反。如果要遍历列表并逐个处理每个元素,则最好将数据库插入代码放在insert(Object object)
中,并为insert(List<Object> objects)
中的每个元素调用此方法。否则,如果您将列表原样传递给库方法,那么您所做的就是正确的。