java变参

原创 2015年11月19日 11:38:25

public static String formatQualifiedName(String... params) {
    List<String> nonEmptyParams = new ArrayList<>(params.length);
    for (String p : params) {
        if (!StringUtils.isNullOrEmpty(p)) {
            nonEmptyParams.add(p);
        }
    }
    StringBuilder formatString = new StringBuilder();
    for (int i = 0; i < nonEmptyParams.size(); i++) {
        formatString.append("%s").append(".");
    }
    //消除最后多余的"."
    if (formatString.charAt(formatString.length() - 1) == '.') {
        formatString.deleteCharAt(formatString.length() - 1);
    }
    return String.format(formatString.toString(), nonEmptyParams.toArray(new String[0]));
}

formatQualifiedName("china", "zhejiang", ''hangzhou")----> "china.zhejiang.hangzhou",从使用情况来看,就是将params当成一个数组来操作。

这个函数个人认为没必要用formatString,直接遍历params,然后append就行了。


C/C++中宏使用(关于## 和...变参宏)

今天看ffmpeg源码,看到一坨一坨的#define REGISTER_HWACCEL(X,x) { /          extern AVHWAccel ff_##x##_hwaccel; /  ...
  • Chris_Magic
  • Chris_Magic
  • 2011年03月07日 15:45
  • 3770

JavaScript-函数篇-001(Javascript变参函数)

我们平时在做前端开发涉及到一些Javascript时,可能会遇到参数不固定的Javascript函数,如:exp(a)、 exp(a,b), 需要说明的是函数名相同,但传入的参数不同, 那么我们可...
  • qq_29494019
  • qq_29494019
  • 2017年06月07日 20:11
  • 300

再次理解C语言的变参

实在是令我很郁闷的事啊。 去年用了两天的时间恶补了一下变参,今天看到变参。发现头脑一篇空白,啥都不知道了。   古人有云:温故而知新。今日我就在看一遍,做个笔记了。   ...
  • Flying_in_the_world
  • Flying_in_the_world
  • 2014年12月25日 11:48
  • 589

js笔记七:数组的解构与变参

数组的解构与函数变参数组的解构与函数变参 解构 变量 操作符 后记 解构es6新增了一个解构功能,如下所示let [aa,bb,cc]= [1,2,3]; console.log(aa,bb,cc);...
  • zdhsoft
  • zdhsoft
  • 2017年03月29日 17:07
  • 479

变参函数调用变参函数小结

简单总结一下 变参函数调用变参函数(备忘)   一、调用函数的格式为:fun(*, va_list )    //“*”表示可能有一个或多个参数,这里旨在介绍最后一个参数是va_list类型的情况 以...
  • Sky_qing
  • Sky_qing
  • 2011年12月28日 16:28
  • 2935

C++11中的变参模板的使用

在新的C++11标准里提供了变参模板,这个类似于在C语言里的printf这个打印函数,参数可以是随机的。当时记得在写嵌入式底层的时候儿需要实现一个类似于printf的函数,还使用var_start,v...
  • fpcc
  • fpcc
  • 2017年01月16日 10:59
  • 1388

python实现变参

使用赋值表达式传递参数,可以颠倒参数列表的顺序。函数的参数提供默认参数    参数可以是变量,也可以是元祖、列表等内置的数据结构 在程序开发中,常常需要传递可变长度的参数。在函数的参数前使用标识符...
  • huaweitman
  • huaweitman
  • 2013年07月31日 10:30
  • 1315

C语言可变参函数的实现

1 C语言中函数调用的原理函数是大多数编程语言都实现的编程要素,调用函数的实现原理就是:执行跳转+参数传递。对于执行跳转,所有的CPU都直接提供跳转指令;对于参数传递,CPU会提供多种方式,最常见的方...
  • smstong
  • smstong
  • 2016年02月26日 19:11
  • 3905

Lua 函数,变参

语法: function func-name (arguments-list)                func-part        end 调用方法:func-name(argume...
  • xuxhing
  • xuxhing
  • 2014年06月12日 16:59
  • 729

Java变参、C/C++/Objective_C变参

/* java中变参方法,变参即参数列表不固定,但是参数类型是一样的,在使用时,形参变量是数组类型的引用 */ public class AppEnter{ public static voi...
  • qianlima210210
  • qianlima210210
  • 2016年05月08日 21:18
  • 2344
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java变参
举报原因:
原因补充:

(最多只允许输入30个字)