A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 3040789425 于 2014-8-22 10:14 编辑

package test;

public class fdasfsadf {

        public static void main(String[] args) {
                showT('d','a','a','a','a','a');
                showT("\n");
                char[] a1={'d','a','a','a','a','a'};
                showT(a1);
                showT("\n");
                showT(1,2,4,5,6,7,8,9,12);
                showT("\n");
                int[] arr={1,2,4,5,6,7,8,9,12};
                showT(arr);
                showT("\n");
               
                show(1,2,4,5,6,7,8,9,12);
                showT("\n");
                int[] arr1={1,2,4,5,6,7,8,9,12};
                show(arr1);
                showT("\n");

        }
            
        public static <T> void showT(T... arr)  //int... 为可变参数数组,既可以接收数组又可以接收数组原材料,
           {                                    // 自动封装成数组,再传入
                for(T a:arr)
                System.out.print(a+" ");
        }                                
        public static  void show(int... arr)  //int... 为可变参数数组,既可以接收数组又可以接收数组原材料,

{
         for(int a:arr)              
         System.out.print(a+"   ");
}


}
运行结果:
           d a a a a a
[C@68bcef
1 2 4 5 6 7 8 9 12
[I@7bd86d
1   2   4   5   6   7   8   9   12   
1   2   4   5   6   7   8   9   12   
问题:
        定义的泛型可变参数函数
                                                showT(1,2,4,5,6,7,8,9,12);,              正确输出
                                                 int[] arr={1,2,4,5,6,7,8,9,12};  showT(arr);   输出地址        ???为什么输出的是地址不是内容
         定义的可变参数函数            
                                                show(1,2,4,5,6,7,8,9,12);,              正确输出
                                                 int[] arr1={1,2,4,5,6,7,8,9,12};  show(arr1);   正确输出                  



3 个回复

倒序浏览
可怜的孩子没人爱,都不理我的帖啊( ▼-▼ )
回复 使用道具 举报
3040789425 发表于 2014-8-22 17:09
可怜的孩子没人爱,都不理我的帖啊( ▼-▼ )

已经找到答案           
回复 使用道具 举报
可以去我另一个同名问题去看答案
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马