java:可变参数(转载)
http://12477787.blog.51cto.com/12467787/1887843
Java在1.5之后允许方法使用可变参数,可变参数的好处在于:它允许传递0个或者多个参数。比如原来有一段代码下载如下:
Java代码 ![]()
public class Test {
public static void main(String[] args) {
test();
test(new String[]{"a"});
test(new String[]{"a", "b"});
}
private static void test() {
System.out.println(“[]”);
}
private static void test(String[] args) {
System.out.println(Arrays.toString(args));
}
}
使用可变参数之后的代码下载如下:
Java代码 ![]()
public class Test {
public static void main(String[] args) {
test();
test(new String[]{"a"});
test(new String[]{"a", "b"});
}
private static void test(String... args) {
System.out.println(Arrays.toString(args));
}
}
可见,可变参数的功能更加强大,语意包含的范围更广。
我们知道,在Java中,除了8种基本类型之外一切都是类。那么可变参数到底是个什么类呢?来,用代码下载验证下!
Java代码 ![]()
public class Test {
public static void main(String[] args) {
whatClass();
whatClass1();
}
private static void whatClass(String... args) {
System.out.println(args.getClass());
System.out.println(new String[]{}.getClass());
}
private static void whatClass1(int... args) {
System.out.println(args.getClass());
System.out.println(new int[]{}.getClass());
}
}
上面代码的运行结果是:
class [Ljava.lang.String;
class [Ljava.lang.String;
class [I
class [I
java:可变参数(转载)的更多相关文章
- Java可变参数 & Python可变参数 & Scala可变参数
Java 可变参数的特点: (1).只能出现在参数列表的最后: (2)....位于变量类型和变量名之间,前后有无空格都可以: (3).调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体 ...
- Java可变参数/可变长参数
Java可变参数/可变长参数 传递的参数不确定长度,是变长的参数,例如小例子: package demo; public class Demo { public static int sum(int ...
- 坑爹的 Java 可变参数,把我整得够惨。。
最近在写一个功能点,用了 Java 中的可变参数,真是把我搞得够惨.. 什么是可变参数? 就是方法参数用 Object... args 三个点形式,一个参数可以接收多个参数. 实际的代码就不帖了,来看 ...
- java可变参数
Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理.注意:可变参数必须位于最后一项.当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持 ...
- Java 可变参数列表
1.可变参数列表的简单实现 当调用方法时,方法的参数个数或类型未知时,称其为可变参数列表.在以前的Java代码中,可以使用Object数组来实现这样的功能.因为,所有的类都是直接或间接继承于Objec ...
- Java 可变参数
java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理.注意:可变参数必须位于最后一项.当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持 ...
- Java可变参数以及一个简单应用
可变参数: Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理. 注意:可变参数必须位于最后一项. 原因:当可变参数个数多余一个时,必将有一个不 ...
- java可变参数长度
一: 在python中 有可变参数*args和万能参数**args参数分别为列表和字典.在java中也有类似的可变参数列表.不过传递进去的是可变参数数组. package com.company; p ...
- Java可变参数与Collections工具类使用了解
今天发现jdk1.5后增加了个可变参数,以前还一直不晓得 public static void main(String[] args) { System.out.println(getNum(1,2, ...
随机推荐
- 新blog新帖><
欢迎来到Mychael的无声乐章 今天搬到了博客园,以后就在这个安谧的地方创作啦OvO 把以前的博客搬了过来 以前的分类似乎崩了.... [以前一些LaTex公式可能会崩掉,那就回我原博客看吧Mych ...
- 利用ROS内建SLAM建立地图
ros中建地图方式有两种: 首先1.首先下载hector_slam包到你工作空间的src下 命令: cd ~/catkin/src git clone https://github.com/tu-da ...
- 1.docker学习
Docker —— 从入门到实践 http://udn.yyuap.com/doc/docker_practice/introduction/index.html 非常详细的Docker学习教程 ht ...
- HTML+CSS 滚动条样式自定义 - 适用于 div,iframe, html 等
友言:这两天被滚动条整的无与伦比,在此做下总结: 首先自定义浏览器滚动条的实现原理:计算浏览器滚动条的高度,层级1的高度与滚动条的总高度是一样的,通过相似比例计算: 浏览器滚动条总高度 :滚动条高度 ...
- Bzoj2882 工艺 [线性算法]
后缀自动机题解 -> http://www.cnblogs.com/SilverNebula/p/6420601.html 后缀自动机敲完,看了下排行,wc为什么别人跑得这么快?……是诶,这最小 ...
- CODEVS【3556】科技庄园
题目描述 Description Life是codevs的用户,他是一个道德极高的用户,他积极贯彻党的十八大精神,积极走可持续发展道路,在他的不屑努力下STN终于决定让他在一片闲杂地里种桃,以亲身实践 ...
- 命名参数和可选参数在.NET中的使用
原文发布时间为:2011-04-25 -- 来源于本人的百度文章 [由搬家工具导入] Named and Optional Arguments class NamedExample{staticvoi ...
- c#中类与结构的区别 struct与class的区别
原文发布时间为:2008-11-23 -- 来源于本人的百度文章 [由搬家工具导入] 类与结构的实例比较 类与结构的差别 如何选择结构还是类 一.类与结构的示例比较: 结构示例: ...
- [LeetCode] Same Tree 深度搜索
Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...
- check source code after macro expand
Some time I'd like check source code after macro expand. We can use -E option to stop after the prep ...