java方法如何设置参数可传可不传

在方法内传参数能否选定参数不需要时可以不传需要时传入参数

img


第二个参数有时候需要传入有时候不需要传入

可以的,这个问题简单,也经常用的,用这样的形式定义参数String... pars
下面demeo是我自己写的一个通用组件的部分代码。你可以参考一下


public Result query(String sql, String... pars) {
        return this.query(sql, false, false, pars);
    }

public Result query(String sql, boolean prefixFuzzy, boolean suffixFuzzy, String... pars) {
        QueryConfig config = new QueryConfig();
        SQLConfig sqlConfig = new SQLConfig();
        for (int i = 0; i < pars.length; i++) {
            sqlConfig.bindValue(pars[i]).setPrefixFuzzyQuery(prefixFuzzy).setSuffixFuzzyQuery(suffixFuzzy);
        }
        sqlConfig.setSQL(sql);
        config.addSQL(sqlConfig);
        return this.query(config);
    }

img


如果你不想这样,你代码里判断第二个参数是否为空就好了,调用的时候不想传就给个null

参数换成 String... 就可以不传,但这样改变了你原有的参数类型,要在方法里面做处理;
方法不变,调用的时候给个null,方法里面要判null;
写个重载方法,不要你不想要的那个参数