可变参数问题,调用问题

       return getPageNavigationBean(classOfT, queryModel, pageNum, pageSize, false);


 protected <T> PageNavigationBean<T> getPageNavigationBean(Class<T> classOfT, String sql, int pageNum, int pageSize, Object... params) {

}

private <T> PageNavigationBean<T> getPageNavigationBean(Class<T> classOfT, QueryModel queryModel, int pageNum, int pageSize,
        boolean isOrder) {

return 调用的getPageNavigationBean方法是调用的哪个方法,以及为什么调用这个方法而不调用另一个方法?

7527258783789898989898989898989

你点进去看一下底层源码分析一下

一个primitve type, 一个是object,你调用false,自然是调用第二个,这个没有问题。
你试试回答下面这个例子
public static void test(Number param)
public static void test(Integer... params)

test(10)是调用那个呢,回答这些问题你需要从 http://download.oracle.com/otn-pub/jcp/jls-7-mr3-fullv-oth-JSpec/JLS-JavaSE7-Full.pdf?AuthParam=1520052132_827ba6d73cceb51474366c64aec6f358 找答案

所有的类都隐式继承Object,即Object类位于继承树最顶层,Object ...objects这种参数定义是在不确定方法参数的情况下的一种多态表现形式。即这个方法可以传递多个参数,这个参数的个数是不确定的

你return 调用传参类型跟个数都很明确,所以会调用第二个