Java中的动态参数问题?

我写了一个简单的例子,有错误,不知道是什么意思?有谁帮我看下.。代码如下:packagepack.y2.javaee;importjava.util.ArrayList;... 我写了一个简单的例子,有错误,不知道是什么意思?
有谁帮我看下.。

代码如下:

package pack.y2.javaee;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

class A {
public static List Test(Test ...arr){
//创建一个List集合;
List list=new ArrayList();
//循环添加把元素添加到List集合中;
for(Test element:arr){
list.add(element);
}
return list;
}

public static void main(String[] args) {
List list=A.Test(1,2,3,4,5); //这里报错The method Test(Test...) in the type A is not applicable for the arguments (int, int, int, int, int)
}

//通过迭代器迭代出List集合中的值;
for (Iterator<List> iter =list.iterator(); iter.hasNext();) {
List element=iter.next();
System.out.print(element);
}
}
展开
 我来答
hight1234
2009-05-22 · TA获得超过161个赞
知道答主
回答量:277
采纳率:0%
帮助的人:176万
展开全部
public static List Test(Test ...arr)
尽量把前面那个 Test 换成其他名称,不然可读性太差了
这样就清楚
import java.util.*;
class Test{}
public class A{
public static List<Test> addTestObject(Test ...arr){
List<Test> list=new ArrayList<Test>();
for(Test element:arr){
list.add(element);
}
return list;
}
public static void main(String[] args){

List<Test> list=A.addTestObject(new Test(),new Test());
for (Iterator<Test> iter =list.iterator(); iter.hasNext();) {

System.out.println(iter.next());

}
}
}

或者 用泛型
import java.util.*;
class Test{}
public class A<T>{
public List<T> addTestObject(T ...arr){
List<T> list=new ArrayList<T>();
for(T element:arr){
list.add(element);
}
return list;
}
public static void main(String[] args){
A a = new A<Test>();
List<Test> list=a.addTestObject(new Test(),new Test());
for (Iterator<Test> iter =list.iterator(); iter.hasNext();) {

System.out.println(iter.next());

}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式