方法动态参数个数

戚薇 Java经验 发布时间:2022-07-11 22:59:31 阅读数:16933 1
下文笔者讲述动态参数个数的方法分享,如下所示
动态参数个数特性:
   在JDK 5中引入
   使用变长参数有两个条件
   一是变长的那一部分参数具有相同的类型
   二是变长参数必须位于方法参数列表的最后面

 变长参数同样是Java中的语法糖
 其内部实现是编译器在编译源代码的时候将变长参数部分转换成了Java数组
例:
public class Test {

    public static void main(String[] args) {
        m1("Java","265","com","test");
    }

    public static void m1(String name,String... len){
        System.out.println("this is "+name);
        System.out.print("go go :[");
        for (int i = 0; i < len.length; i++) {
            if(i!=len.length-1) {
                System.out.print(len[i]+",");
            }else {
                System.out.print(len[i]+"]");
            }
        }
    }
} 

运行以上代码,将输出以下信息
this is Java
go go:[265,com,test]

通过jad反编译出来的代码
public class Test
{

    public Test()
    {
    }

    public static void main(String args[])
    {
        //入参也被转成成了数组
        m1("Java", new String[] {
            "265","com","test"
        });
    }
    
    //这边已经将变长参数转换成了数组
    public static transient void m1(String name, String len[])
    {
        System.out.println((new StringBuilder()).append("this is ").append(name).toString());
        System.out.print("go go:[");
        for(int i = 0; i < len.length; i++)
            if(i != len.length - 1)
                System.out.print((new StringBuilder()).append(len[i]).append(",").toString());
            else
                System.out.print((new StringBuilder()).append(len[i]).append("]").toString());

    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202207/16575518873959.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者