各位大侠,我的一个类中有两方法 方法1: public Object executeUpdate(final String sql, final Object... values) { ... }
方法2: public Object executeUpdate(final String sql, final List values) { .. }
下边是我的调用 List list = new ArrayList(); list.add("aa"); executeUpdate("select * from xxx ",list);
可以我这个方法调用的是方法1,我如何做才能让它调用方法2呢这2个方法属于同一方法Object本来就是List的上层,并且还采用了多参,所以只需要用方法1... 我的编译器调用的是第二个方法啊。不会调用第一个方法。 executeUpdate("select * from xxx ", (Object)list);
这样就调用第一个方法 我按照你的调用方式,调用的是方法2... ls的注意上面的是Object...不是Object public void executeUpdate(final String sql, final Object... values) { System.out.println(1); }
public void executeUpdate(final String sql, final Object[] values) { System.out.println(2); }
Object...和Object[]是等效的,所以如果这么写,编辑器是会报错的: Duplicate method executeUpdate(String, Object[]) in type Overloadtest executeUpdate("select * from xxx ", (List)list); 试试