Java可变参数详解

KeepSayingNo 华为 开发组长/高级工程师/技术专家  2015-12-06 11:23:46
写了一篇博文,具体阐述Java可变参数,大家有兴趣可以看看。
http://blog.csdn.net/dotnetstudio/article/details/50193627
...全文
141 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
变参不就是个数组么?搞这么神秘
回复
蜗牛- 2015-12-07
引用 5 楼 dotnetstudio 的回复:
[quote=引用 1 楼 magi1201 的回复:] 写的不错,建议可以加一点方法匹配的讲述

	public static void main(String[] args) {
		UnCertainParam ucp = new UnCertainParam();
		ucp.m1(null);
		ucp.m1(null, null);
		ucp.m1(null, null, null);
	}
	
	public void m1(String str1, String str2, String ...strings) {
		System.out.println("m1");
	}
	
	public void m1(String str1, String ...strings) {
		System.out.println("m2");
	}
你这说的是方法的重载匹配吗[/quote] 恩 是的 这个没有专门总结过
回复
KeepSayingNo 2015-12-07
引用 3 楼 qq_28224387 的回复:
变参不就是个数组么?搞这么神秘


变参和数组还是有差别的,数组要求你传人的是一个数组,变参是支持传任意个入参,你再仔细体会下
回复
KeepSayingNo 2015-12-07
引用 1 楼 magi1201 的回复:
写的不错,建议可以加一点方法匹配的讲述

public static void main(String[] args) {
UnCertainParam ucp = new UnCertainParam();
ucp.m1(null);
ucp.m1(null, null);
ucp.m1(null, null, null);
}

public void m1(String str1, String str2, String ...strings) {
System.out.println("m1");
}

public void m1(String str1, String ...strings) {
System.out.println("m2");
}


你这说的是方法的重载匹配吗
回复
引用 1 楼 magi1201 的回复:
写的不错,建议可以加一点方法匹配的讲述

	public static void main(String[] args) {
		UnCertainParam ucp = new UnCertainParam();
		ucp.m1(null);
		ucp.m1(null, null);
		ucp.m1(null, null, null);
	}
	
	public void m1(String str1, String str2, String ...strings) {
		System.out.println("m1");
	}
	
	public void m1(String str1, String ...strings) {
		System.out.println("m2");
	}
看来他使用了数量最小匹配的原则
回复
蜗牛- 2015-12-06
写的不错,建议可以加一点方法匹配的讲述

	public static void main(String[] args) {
		UnCertainParam ucp = new UnCertainParam();
		ucp.m1(null);
		ucp.m1(null, null);
		ucp.m1(null, null, null);
	}
	
	public void m1(String str1, String str2, String ...strings) {
		System.out.println("m1");
	}
	
	public void m1(String str1, String ...strings) {
		System.out.println("m2");
	}
回复
_南天北落 2015-12-06
简单了,对于新手来说,你应该把可变参数的API列一部分。详细解释列一部分。然后是demo。可以的话附带实际开发的例子。
回复
发动态
发帖子
Java SE
创建于2007-09-28

6.1w+

社区成员

Java 2 Standard Edition
申请成为版主
社区公告
暂无公告