Java中的参数列表

一. 什么是参数列表

当你在编写一个函数时,你不知道函数形参的类型或者是形参的长度时,你就可以使用参数列表来代替。

样式:

     public void f(Object...objects) {
         System.out.println("Object");
         System.out.println(objects.length);
     }

就是(类型...)在你所需要的参数类型后面加上三个点

二.参数列表的本质

参数列表的本质是一个长度不确定的数组。

比如说当你输出形参时得到的是一个地址符,如下:

 public void f(Integer...integers ) {
         System.out.println("integers");
         System.out.println(integers);
     }
     public static void main(String[] args) {
        Parameter_list pl=new Parameter_list();
        pl.f(new Integer(20),new Integer(20),20);
    }

三.object类型的形参列表

由于所有的类都是object的子类,所以所有的类的对象都可以为object形参列表的实参。

public void f(Object...objects) {
         System.out.println("Object");
         System.out.println(objects.length);
     }

     public static void main(String[] args) {
        Parameter_list pl=new Parameter_list();
        pl.f(20,30,51,30);
    }

 

输出为:

同时上面的列子也有自动封箱的存在。

四.自动封箱与拆箱与形参列表

 

    public void f(Integer...integers ) {
        System.out.println("integers");
    }

     public static void main(String[] args) {
        Parameter_list pl=new Parameter_list();
        pl.f(20,30,51,30);
    

 

实参(20,30,51,30)自动封箱为integer类型

但是注意包装类和普通类型同时存在将会有二义性

 

posted on 2018-07-22 15:41  真正的小明被占用了  阅读(8978)  评论(0编辑  收藏  举报

导航