`
yourenyouyu2008
  • 浏览: 282247 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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中的参数

待续。。。

分享到:
评论
1 楼 xiaojianbo 2013-01-10  
很好,有效的减少了方法数量,也使方法目的更加清晰和明确!

相关推荐

    Java中的可变参数常见用法实例总结

    主要介绍了Java中的可变参数常见用法,结合实例形式总结分析了java可变参数的常见功能、使用方法及相关操作注意事项,需要的朋友可以参考下

    Java基础知识点总结.docx

    可变参数(...) 86 枚举:关键字 enum 86 自动拆装箱 86 泛型 87 &lt;java.lang&gt;System 89 &lt;java.lang&gt;Runtime 90 &lt;java.lang&gt;Math 90 &lt;java.lang&gt;.Date:日期类,月份从0—11 92 &lt;java.lang&gt; Calendar:日历类 93 ...

    数组总结(概念、定义、默认值、可变长参数、值传递与引用传递等)

    数组总结(概念、定义、默认值、可变长参数、值传递与引用传递等)。1.冒泡排序: ​ 两两相比(两个相邻的数进行比较) 条件成立 互换位置 ​ 外层循环控制比较的轮数 **轮数永远是 长度 -1 (n - 1)** ​ 内层循环...

    java 面试题 总结

     final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的...

    Thinking in java4(中文高清版)-java的'圣经'

    非静态实例初始化 5.8 数组初始化 5.8.1 可变参数列表 5.9 枚举类型 5.10 总结 第6章 访问权限控制 第7章 复用类 第8章 多态 第9章 接口 第10章 内部类 第11章 持有对象 第12章 通过异常处理错误 第13章 字符串 第...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    7.6.1 超车方法:使用类实例做参数 172 7.6.2 调用这个方法 173 7.6.3 发生了什么 174 7.7 加餐:局部变量和实例变量 175 7.7.1 什么是局部变量(Local Variable) 175 7.7.2 什么是实例变量(Instance ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    7.6.1 超车方法:使用类实例做参数 172 7.6.2 调用这个方法 173 7.6.3 发生了什么 174 7.7 加餐:局部变量和实例变量 175 7.7.1 什么是局部变量(Local Variable) 175 7.7.2 什么是实例变量(Instance ...

    java学习总结 1.《Java核心技术》.rar

    3、移位操作符右边的参数要先进行模32运算(当左边的变元是long型,则模64),如1。浮点运算的中间结果程度是不一致的。有些处理器适用80bit浮点存储器,有些则使用64bit、80bit。直到最后才把结果截断为64bit,这样做...

    整理后java开发全套达内学习笔记(含练习)

    可变的['vєәriәbl] volatile (关键字) 不稳定的['vɒlәtail] while (关键字) 循环语句。 当...的时候 [hwail] ORACLE_SID=oral10g\ --变局部变量 export ORACLE_SID --变全局变量 unset ORACLE_SID --卸载...

    Java课程设计报告书

    3) 总体设计思路(简要说明系统包含的java源程序及其功能,描述类之间的主要关系) 4) 具体设计(以表格形式描述各个类含有的成员变量和方法,并对关键代码加以说明,显示程序运行界面) 5) 总结(包括对...

    Scala详细总结(精辟版++).docx

    向函数式编程转变,你就应该尽量去使用val、不可变对象、无副作用方法,而不是var、可变对象、有副作用方法。要明白的是,从指令式编程向函数式编程的转变会很困难,因此你要做好充分的准备,并不断的努力。 scala...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    4.1.4. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators)(可选) 4.2. 实现继承(Inheritance) 4.3. 实现equals()和hashCode() 4.4. 动态模型(Dynamic models) 4.5. 元组片断映射(Tuplizers) 5. ...

    Java 虚拟机面试题全面解析(干货)

    ·可变参数; 静态引入 元数据(注解); 引入 Instrumentation Java∨ ersion se6 支持脚本语言 引入JDBC40API; 引入 Java Compiler API; 可插拔注解; 增加对 Native PKi( Public Key Infrastructure)、 Java gss( ...

    大学我玩够了你呢?30天轻松搞定 Java 之类与对象

    大学我玩够了你呢?30天轻松搞定 Java 目浴录大学我玩够了你呢?30天轻松搞定 JavaJava数据处理之 类与对象1、类2、对象3、属性4、方法5、包总结 ...//成员变量,而且不可变 public MyMath(){//空参数构造方法 }

    编程思想下篇

    5.8.1 可变参数列表 5.9 枚举类型 5.10 总结 第6章 访问权限控制 第7章 复用类 第8章 多态 第9章 接口 第10章 内部类 第11章 持有对象 第12章 通过异常处理错误 第13章 字符串 第14章 类型信息 第15章 泛型 第16章 ...

    Visual C#2010 从入门到精通(Visual.C#.2010.Step.By.Step).完整去密码锁定版 I部分

    18.5 可变性和泛型接口 340 18.5.1 协变接口 341 18.5.2 逆变接口 343 第18章快速参考 345 第19章 枚举集合 347 19.1 枚举集合中的元素 347 19.1.1 手动实现枚举器 348 19.1.2 实现ienumerable接口 352 19.2...

    freemarker总结

    使用内建的int函数可对数值取整,如: ${ (x/2)?int } ${ 1.1?int } ${ 1.999?int } ${ -1.1?int } ${ -1.999?int } 结果是:2 1 1 -1 -1 1.7 比较运算符 表达式中支持的比较运算符有如下几个: 1. =或者==:...

    Scala程序设计(第2版)

    4.7 可变参数列表的匹配 101 4.8 正则表达式的匹配 103 4.9 再谈case语句的变量绑定 104 4.10 再谈类型匹配 104 4.11 封闭继承层级与全覆盖匹配 105 4.12 模式匹配的其他用法 107 4.13 总结关于...

    java是去蜗牛还是源码时代-JVM-:JVM-

    java是去蜗牛还是源码时代 JVM-JVM调优总结 -Xms -Xmx -Xmn -Xss(转) 田间的蜗牛chris 关注 0.969 2018.05.30 15:29:02 字数 5,507 阅读 29,986 Xms 是指设定程序启动时占用内存大小。一般来讲,大点,程序会启动的...

Global site tag (gtag.js) - Google Analytics