A programmer needs to create a logging method that can accept an 
arbitrary number of arguments. For example, it may be called in these 
ways: 
logIt("log message 1 "); 
logIt("log message2”,”log message3"); 
Copyright Tarena Corporation,2008.All rights reserved 
logIt("log message4", "log message5", "log message6"); 
Which declaration satisfies this requirement? 
A. public void logIt(String * msgs) 
B. public void logIt(String [] msgs) 
C. public void logIt(String... msgs) 
D. public void logIt(String msg1, String msg2, String msg3)

解决方案 »

  1.   

    C
    ...可变 参数http://www.blogjava.net/Carter0618/archive/2007/08/19/137889.html
      

  2.   

    当然是 C 喽。B 必须这样调用:logIt(new String[]{ "log message4", "log message5", "log message6" }); 
      

  3.   

    当然是 C 喽。 B 必须这样调用: logIt(new String[]{ "log message4", "log message5", "log message6" }); 
    我觉得也是C
      

  4.   

    C
    这是JDK5.0加入的新特性,可变参数列表。
    实际上传递就是数组,只不过参数列表到数组的转化由编译器完成。
      

  5.   

    参看java参数传递。引用的传递,值的传递
      

  6.   

    答案是CB只能接受数组参数,C虽然也是数组,但是是一种变形,可以支持任意个数字符串。
      

  7.   

    http://www.blogjava.net/Carter0618/archive/2007/08/19/137889.html 这里讲的很清除
    c
      

  8.   

    应该是C     这是java2 1.5版本的新功能
    for multiple variable arguments
      

  9.   

    C
    java 5.0 新特性,可变长参数
      

  10.   

    当然是 C 喽。 B 必须这样调用: logIt(new String[]{ "log message4", "log message5", "log message6" }); 
      

  11.   

    public static void a(String... aaa){
    System.out.println(aaa[0]);
    }
    public static void main(String[] args) {
    a("dfs");
    }
    dfs
      

  12.   

    C啦,B的话还需要知道有多少个参数,要创建数组,C是可变参数,随便多少多行。
      

  13.   

    刚才想选B,看了大家的回答
    http://www.blogjava.net/Carter0618/archive/2007/08/19/137889.html现在知道C了,多谢
      

  14.   

    支持C,J2SE5.0新增的不定长度参数
      

  15.   

    JavaCode:
    package com.basic;
    public class NewStringParamTest {
    public static void main(String[] args) {
    String str1 = "11111";
    String str2 = "22222";
    String str3 = "33333";
    NewStringParamTest nspt = new NewStringParamTest();
    nspt.print(str1);
    nspt.print(str1, str2);
    nspt.print(str1, str2, str3);
    }

    public void print(String... msg) {
    for(int i=0; i<msg.length; i++) {
    System.out.print(msg[i] + "\t");
    }
    System.out.println();
    }
    }
    Console:
    11111
    11111 22222
    11111 22222 33333
    正解为C;
    呵呵,学习了
      

  16.   

    C,java1.5添加进去的行特性,可变参数列表····
      

  17.   

    这题答案应该是C,不定长参数,scjp会出这样的问题!
      

  18.   


    C. public void logIt(String... msgs) B当然是不行的,他们都是对象,String数组还不是一个对象。当然不行,这里用到的是不常见的知识罢了
      

  19.   

    明明就是C
    明显上面说B的是不负责任的(调用方法不一样)
    不知道C是对的只能说你对JDK5新特性不了解
    但是说B
      

  20.   

    c  ,b 所要求的必须是同一类型的数据,而c 可以是任意可变长度的任意类型数据
      

  21.   

    领教了,这个问题还真不太清楚。
    可变参数可以是任意类型的,形式是Objectparameters
      

  22.   

    C.可变的String参数,B应该是new String[]{}
      

  23.   

    C,这问的应该是对JDK新特性的了解
      

  24.   


    <form>
    <script language="javascript">
    function setColor()
    {
    document.bgColor="#0000ff";
    }
    </script><p type="button" name="submit" value="submit" onmousemove="setColor()" >雁过留声</p>
    </form>
      

  25.   

    ~~~  hehe    毫无疑问 选C  因为 C. public void logIt(String... msgs)  内 的  参数   String... msgs  是指 可变参数   可以查查资料  只要知道参数是可变的  就很简单