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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 75100313 高级黑马   /  2014-3-6 22:21  /  1128 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 75100313 于 2014-3-6 22:22 编辑

http://hk.ent.yahoo.net/uploads/music/2012/07/43471-04_Sugar_Walls.mp3

请问 输出的结果是什么及原因,求分析?山丘!

  1. package com.mth.test;

  2. public class VarArgsTest {
  3.     public static void m1(String s, String... ss) {
  4.         for (int i = 0; i < ss.length; i++) {
  5.             System.out.println(ss[i]);
  6.         }
  7.     }
  8.     public static void main(String[] args) {
  9.         m1("");
  10.         m1("aaa");
  11.         m1("aaa", "bbb");
  12.     }
  13. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

4 个回复

倒序浏览
输出结果为bbb
可变参数列表的参数不是固定的,而是随着需要变化,也可以不传递参数
m1("");   //向m1方法中的String s传递一个“”,没有向可变参数传值
m1("aaa");//同上,也只是传值给String s
  m1("aaa", "bbb");//将bbb传递给可变参数列表 String... ss并遍历。所以打印bbb

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报 1 0

  1. //可变参数可以传递不确定个数的参数,可以不传,也可以传多个
  2. public class VarArgsTest {
  3.     public static void m1(String s, String... ss) {
  4.         for (int i = 0; i < ss.length; i++) {
  5.             System.out.println(ss[i]);
  6.         }
  7.     }
  8.     public static void main(String[] args) {
  9.         m1("");  //传入的实参被String s接收,可变参数没有传递参数
  10.         m1("aaa");  //同上
  11.         m1("aaa", "bbb");  //"aaa"被String s接收,"bbb"被可变参数String... ss接收
  12.         //String... ss 可接受多个参数,如下
  13.         m1("aaa", "bbb", "ccc");  //"bbb"和"ccc"被可变参数String... ss接收
  14.     }
  15. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
chenfc8578 发表于 2014-3-6 22:51
输出结果为bbb
可变参数列表的参数不是固定的,而是随着需要变化,也可以不传递参数
m1("");   //向m1方法 ...

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