码迷,mamicode.com
首页 > 编程语言 > 详细

【求助】Java可变长参数方法调用问题

时间:2016-08-08 19:10:12      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

不说废话,直接上代码:

 1 package mytest;
 2 
 3 import java.util.List;
 4 
 5 public class TestClass {
 6 
 7     public void method(List<Object> list){
 8         System.out.println("method with param List<Object> invoked!");
 9     }
10     
11     public void method(Object... objects){
12         System.out.println("method with param Object... invoked!");
13     }
14 }
 1 package mytest;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 public class Main {
 7 
 8     public static void main(String[] args) {
 9         List<String> list = new ArrayList<String>();
10         list.add("aa");
11         list.add("bb");
12         list.add("cc");
13         
14         TestClass t = new TestClass();
15         
16         t.method(list);
17     }
18 
19 }

main方法执行结果为:

method with param Object... invoked!

为什么重载方法一个参数为List<Object>,一个参数为Object...,调用方法传参类型为List<String>,实际执行的是参数为Object...方法?

【求助】Java可变长参数方法调用问题

标签:

原文地址:http://www.cnblogs.com/GoQC/p/5750300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!