Java 可变参数列表
1.可变参数列表的简单实现
package sample;
class A1{}
public class VarArgs {
static void printArray(Object[] args){
for(Object obj:args)
System.out.print(obj+" ");
System.out.println();
}
public static void main(String[] args){
printArray(new Object[]{
new Integer(47),new Float(3.14),new Double(11.11)
});
printArray(new Object[]{"one","two","three"});
printArray(new Object[]{new A1(),new A1(),new A1()});
}
}
|
package sample;
class A{}
public class NewVarArgs {
static void printArray(Object...args){
for(Object obj:args)
System.out.print(obj+" ");
System.out.println();
}
public static void main(String[] args){
printArray(new Integer(47),new Float(3.14),new Double(11.11));
printArray(47,
printArray("one","two","three");
printArray(new A(),new A(),new A());
printArray((Object[])new Integer[]{1,2,3,4});
printArray();
}
}
|
package sample;
public class OptionalArguments {
static void f(String...trailing){
for(String s:trailing)
System.out.print(s+" ");
System.out.println();
}
public static void main(String[] args){
f("one");
f("two","three");
f();
}
}
|
package sample;
public class AutoboxingVarargs {
public static void f(Integer...args){
for(Integer i:args)
System.out.print(i+" ");
System.out.println();
}
public static void main(String[] args){
f(new Integer(1),new Integer(2));
f(3,4,5,6,7,8,9);
f(10,new Integer(11),12);
}
}
|
package sample;
public class OverloadingVarargs {
static void f(Character...args){
System.out.print("first ");
for(Character c:args)
System.out.print(c+" ");
System.out.println();
}
static void f(Integer...args){
System.out.print("second ");
for(Integer i:args)
System.out.print(i+" ");
System.out.println();
}
static void f(Long...args){
System.out.print("third ");
for(Long l:args)
System.out.print(l+" ");
System.out.println();
}
static void f(Double...args){
System.out.print("forth ");
for(Double d:args)
System.out.print(d+" ");
System.out.println();
}
public static void main(String[] args){
f('a','b','c');
f(1);
f(2,1);
f(0.1);
f(
}
}
|
package sample;
public class OverloadingVarargs2 {
static void f(float i,Character...args){
System.out.println("first");
}
static void f(Character...args){
System.out.println("second");
}
public static void main(String[] args){
f(1,'a');
f('a','b');//Error
}
}
|
package sample;
public class OverloadingVarargs2 {
static void f(float i,Character...args){
System.out.println("first");
}
static void f(char c,Character...args){
System.out.println("second");
}
public static void main(String[] args){
f(1,'a');
f('a','b');
}
}
|
Java 可变参数列表的更多相关文章
- <JAVA>可变参数列表
这是java1.5版本的新特性,就是当你想定义一个方法,但是不知道以后要用的时候传几个参数进去,这时可以在方法的参数列表中这样写(参数类型... 数组名),然后在方法内部直接用操作数组的方式操作.比如 ...
- java可变参数列表的实现
参数就是我们调用一个方法时需要传入得数据,在方法中可能需要参数协助处理数据或者对参数进行解析处理以达到我们希望得到的数据和结果. 平常我们在写一个方法时,我们能确定需要传入什么样的参数以及参数的个数, ...
- (四)《Java编程思想》——可变参数列表
以object数组为参数的方法实现可变参数列表 package chapter5; /** * 以object数组为参数的方法实现可变参数列表 */ class A { } public class ...
- 可变参数列表-Java SE5新特性(转)
Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理.注意:可变参数必须位于最后一项.当可变参数个数多于一个时,必将有一个不是最后一项,所以只支持 ...
- “全栈2019”Java第三十四章:可变参数列表
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- java基础基础总结----- 构造方法,可变参数列表
package com.mon11.day2; /** * 类说明 :构造方法,可变参数列表 * @author 作者 : chenyanlong * @version 创建时间:2017年11月2日 ...
- java基础(九) 可变参数列表介绍
一.可变参数简介 在不确定参数的个数时,可以使用可变的参数列表. 1. 语法: 参数类型...(三个点) 例如: void printArray(Object...) 注意: 每个方法最多只有一个可变 ...
- Java可变参数 & Python可变参数 & Scala可变参数
Java 可变参数的特点: (1).只能出现在参数列表的最后: (2)....位于变量类型和变量名之间,前后有无空格都可以: (3).调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体 ...
- java可变参数长度
一: 在python中 有可变参数*args和万能参数**args参数分别为列表和字典.在java中也有类似的可变参数列表.不过传递进去的是可变参数数组. package com.company; p ...
随机推荐
- C#字符串处理(String与StringBuilder)
首先介绍一下常用的几个功能:Compare(str1,str2)——比较两个字符串str1,str2的大小,如果大于返回正数,等于返回0,小于返回负数!IndexOf——定位字符串中第一次出现某个给定 ...
- java mail(发送邮件--163邮箱)
package com.util.mail; /** * 发送邮件需要使用的基本信息 */ import java.util.Properties; public class MailSenderIn ...
- 将bootstrap弹出框的点击弹出改为鼠标移入弹出
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- [LintCode] Integer to Roman 整数转化成罗马数字
Given an integer, convert it to a roman numeral. The number is guaranteed to be within the range fro ...
- 内置函数----整理、例题 、xmin
-----------数值函数 ---绝对值 select abs(-123) from dual; --求模 select mod (12,5) from dual; --取整 --上限值 sele ...
- [转] - hadoop中使用lzo的压缩
在hadoop中使用lzo的压缩算法可以减小数据的大小和数据的磁盘读写时间,不仅如此,lzo是基于block分块的,这样他就允许数据被分解成chunk,并行的被hadoop处理.这样的特点,就可以让l ...
- ACM Steps 2.1.8
小数化分数2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 【HDU4612】 双连通分量求桥
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4612 题目大意:给你一个无向图,问你加一条边后最少还剩下多少多少割边. 解题思路:好水的一道模板题.先 ...
- Python一般错误
1. IndentationError: unindent does not match any outer indentation level 格式对齐的问题.Python对空格和Tab有严格区别
- BizTalk开发系列(二十九) 宏的使用
在BizTalk中可以使用宏集合动态的让BizTalk发送处理程序使用单独的值来替换宏.常用的使用宏的发送程序有:文件发送适配器和SMTP发送适 配器.在表达式中可以使用同时使用多个宏.例如:在文件发 ...