方法——慎用可变参数

淩亂°似流年 2024-03-16 12:46 90阅读 0赞

可变参数依然是来自于 jdk 1.5 ,可见 jdk1.5 在 java 中有多么重要

可变参数示例如下

  1. @Test
  2. public void cleanEmptyDir() {
  3. testArgs();
  4. testArgs("a");
  5. testArgs("a","b");
  6. testArgs("a",null,"cc");
  7. }
  8. private void testArgs(String... strs) {
  9. System.out.println(strs.getClass());
  10. for (String s : strs) {
  11. System.out.println("s:" + s);
  12. }
  13. }

可变参数要点:

  1. 可变参数可接受 n 个参数(n >= 0)
  2. 可变参数实际会被包装为数组
  3. 实际传参个数为0 时,则是空数组,而不是 null,但允许多个参数中其中某个或多个为null
  4. 可变参数只能在参数列表最后

由上一条可知,一个方法最多允许1个可变参数

所以可变参数方法也可声明如下(其他参数与正常的方法格式一样,只有可变参数放在最后)

  1. private void testArgs(Integer a,Date date, String str0,String... strs) {
  2. System.out.println(strs.getClass());
  3. for (String s : strs) {
  4. System.out.println("s:" + s);
  5. }
  6. }

可变参数的使用场景

比如: jdbc 中 preparedStatement 中 ? 占位符是不固定的(确实是 0 - n 个),那么他的实际替换值也是不固定,所以这里用比较方便,而且 jdbc中处理 占位符的性能在 jdbc与数据库交互间不值一提,所以用可变参数的性能问题不再是问题

  1. public List<T> preparedExecute(String sql,Object ... args){
  2. }

发表评论

表情:
评论列表 (有 0 条评论,90人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java方法参数-可变参数

    在上一篇文章中,小千给大家讲解了Java方法参数的形参和实参,以及之前方法的定义、调用和返回值,但方法的内容还有很多,比如方法的参数是怎么回事?接下来小千会在这篇文章中,继续给

    相关 方法——重载

    前言: 何为重载,类中两个方法同名,但是参数列表不同,称为重载。注意,是参数列表,不是返回值,实际上同名方法同参数列表,但不同返回值是不允许的。 // 重载示例,重载

    相关 建议:可变参数

    Java 1.5发行版本中增加了可变参数(varargs)方法,一般称作variable arity method (可匹配不同长度的变量的方法)。可变参数方法接受0个或者多个

    相关 Java中可变参数方法

    Java中可变参数方法 J2SE 1.5中提供了Varargs机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。 Vara