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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 史卫平 黑马帝   /  2011-9-10 09:16  /  2115 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[code=java]String[] a2 = new String[]{"abc","xyz","www"};
                System.out.println("————————————————————");
                print((a2);
//              System.out.println(Arrays.asList(a2));
                System.out.println("————————————————————");
        }

        private static void print(Object obj) {
                // TODO Auto-generated method stub
                System.out.println(Arrays.asList(obj));
        }[/code]打印a2里里面的各个元素
注释的部分可以正常打印
把打印的代码放到方法里面就不行了
[ 本帖最后由 史卫平 于 2011-09-10  09:20 编辑 ]

7 个回复

倒序浏览
把打印的代码放到方法里面就不行了,放到哪里,我不是很明白
[ 本帖最后由 chengjj520 于 2011-09-10  09:28 编辑 ]
回复 使用道具 举报
1.第三行 多加了一个左括号。
2.第八行中型参类型应该从Object改为String[]。
3.如果你要传Object类型,那么print语句应该修改成print(Arrays.asList(a2)),而print方法打印语句修改成System.out.println(obj);
下面的代码参考:[code=java]import java.util.Arrays;

public class Array {
        public static void test ()
        {
                String[] a2 = new String[]{"abc","xyz","www"};
            System.out.println("————————————————————");
            print( Arrays.asList(a2));
            
         //System.out.println(Arrays.asList(a2));
            System.out.println("————————————————————");
        }

private static void print(Object obj) {
    // TODO Auto-generated method stub
    System.out.println(obj);
        }

public static void main (String argc[])
{
        Array.test();
}
}[/code]
[ 本帖最后由 张晨 于 2011-09-10  09:45 编辑 ]

评分

参与人数 1技术分 +2 收起 理由
admin + 2 不错!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-10 09:53:11
板凳
第3行[code]print((a2); [/code]少了一个括号)

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-10 14:17:53
报纸
多了一个括号是删除不必要的代码的时候不小心加上的
早上没时间多看,刚才弄懂了
其实这就是高新技术视频里面讲的内容
jdk1.5以后asList方法的参数就是一个可变参数
在jdk1.4里面参数是一个数组
我传进来这个数组的时候我是以Object的类型传的
相当于告诉编译器不要把这个东西分解成字符串对象数组
所以它直接用jdk1.5的理解方式调用了
不知道我的理解正确不,看到的评价一下
回复 使用道具 举报
黑马网友  发表于 2011-9-12 16:53:32
地板
你上面的理解绝对靠谱
想说下:
直接 Arrays.toString(String[] s);  就打印出来了。。。
   先转成list。。。再通过list的toString()打印出来。。。太累了
回复 使用道具 举报
黑马网友  发表于 2011-9-12 23:09:39
7#
toString好像可以,asList方法是视频里面看到的
回复 使用道具 举报
王清云 黑马帝 2011-9-13 13:50:29
8#
  1. private static void print(Object[] obj) {
  2.         // TODO Auto-generated method stub
  3.         System.out.println(Arrays.asList(obj));
  4. }
复制代码
只要把Object改成Object[],asList方法在1.4中需要的参数就是Object[],你只传一个Object进去,就会用1.5中的规范,当成一个对象来看,就打出整个数组的字节码。
[ 本帖最后由 王清云 于 2011-09-13  13:52 编辑 ]

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马