java可变参数的使用总结

变长参数是jdk1.5的新特性,可以减少方法的数量。

 

1】状态查询场景

queryByStatus方法可以查询一个状态也可以查询多个状态,一个状态使用=查询,多个状态使用in查询。

使用变长参数之前的方法定义和使用如下,一个状态和多个状态的使用方式不同,一个状态的使用方式简洁和明确,多个状态的使用方式繁琐。

如果将一个状态也按多个状态的方式处理,会使得一个状态也变得繁琐了。

public List<ReportLog> queryByStatus(Long jobId, ReportLogStatus status)

//使用方式 reportLogDao.queryByStatus(jobId, ReportLogStatus.FAILED)

public List<ReportLog> queryByStatus(Long jobId, ReportLogStatus[] statuss)

/*

使用方式

ReportLogStatus[] statuss=new ReportLogStatus[2];
        statuss[0]=ReportLogStatus.QUEUED;
        statuss[1]=ReportLogStatus.PROCESSING;
        return reportLogDao.queryByStatus(jobId, statuss);

*/

 

使用变长参数后的情况

1)减少了方法数量

2)多个状态的使用方式也变得简洁和明确了

3)还保留了之前的数组使用方式

public List<ReportLog> queryByStatus(Long jobId, ReportLogStatus... statuss)

//单状态使用方式

reportLogDao.queryByStatus(jobId, ReportLogStatus.FAILED);

//多状态使用方式

reportLogDao.queryByStatus(jobId, ReportLogStatus.QUEUED, ReportLogStatus.PROCESSING);

//数组使用方式

ReportLogStatus[] statuss=。。。。

reportLogDao.queryByStatus(jobId, statuss);

 

2】log中的参数

待续。。。

你可能感兴趣的:(java)