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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yaodd321 中级黑马   /  2014-11-3 23:50  /  1816 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yaodd321 于 2014-11-4 20:01 编辑

今天看代码的时候,看到了一个方法,其中String...args作为参数,是什么意思?

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

7 个回复

倒序浏览
首先,这个写法其实是数组  String... args = String[] args 这是动态参数的写法(jdk 1.5新特性)。  然后,新特性可以传多(0~n)个String参数给这个方法 (就是无限参数 )的意思啦~~
回复 使用道具 举报
补从一下.一个函数参数列表只能有一个可变参数(楼上说的动态参数),且必须放在参数列表的最后一个位置
回复 使用道具 举报
那个是JDK1.5的新写法,代表不确定数量参数,例如对于method(String...args)可以有:method()、method("a")、method("a","b","c","d"),那些参数其实是一个数组,方法体中可以用String[编号]进行引用。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
/*
args[]用法:
1.为main方法中定义的一个字符串数组String[] args或String args[]
2.用来获取命令行用户输入的变量参数
3.例如编译成功后命令行输入"java 类名 ab cd ef gh"
4.表示args[]数组有4个变量,即args.length = 4
5.4个变量分别为"ab","cd","ef","gh";(即输入时变量间用空格隔开)
*/
//在屏幕上输出"ab--cd--ef--gh"
public class Test{
        public static void main(String[] args){
                for(int i=0;i<(args.length-1);i++){
                        System.out.print(args[i]+"--");
                }
                System.out.println(args[args.length-1]);
        }
}
//此程序需要编译后在cmd命令行输入"java t4 ab cd ef gh"运行
回复 使用道具 举报
lighter 发表于 2014-11-4 00:18
/*
args[]用法:
1.为main方法中定义的一个字符串数组String[] args或String args[]

楼主问的是可变参数,不是主函数中的String数组
回复 使用道具 举报
补充:你还可以看看JDK1.5的这个新特性是怎么兼容1.4的new Object[]的这段视频的
回复 使用道具 举报
1.5新特性 可变参数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马