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);
}
}
展开
 我来答
liuqwrmfw
2009-05-21 · TA获得超过123个赞
知道答主
回答量:87
采纳率:0%
帮助的人:0
展开全部
你的方法的参数是 Test 类型的 , 如下
class A {
public static List Test(Test ...arr){

但在调用时传参是 int
List list=A.Test(1,2,3,4,5);

类型确实不符 , 报错很正常

解决 你传几个Test类型参数。
百度网友a7c2114
2009-05-21 · TA获得超过306个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:181万
展开全部
public static List Test(Test ...arr){
中要求的参数是Test类型,传入5个int类型当然不行啦.
可以改成传入一个数组
public static List Test(int [] arr){
然后调用的时候使用
List list=A.Test(new int[]{1,2,3,4,5});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
spesun
2009-05-20 · TA获得超过224个赞
知道小有建树答主
回答量:682
采纳率:0%
帮助的人:371万
展开全部
A.Test(1,2,3,4,5);
你传入的是int型,应该传入Test型吧

还有class A 是public 的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
憨厚且纯朴灬小雀1461
2009-05-22 · TA获得超过387个赞
知道答主
回答量:60
采纳率:0%
帮助的人:0
展开全部
参数类型就没搞清楚啊!

你总不能方法传参那里定义参数类型为Test
而调用方法的时候传5个int格式的参数啊!

要么方法定义那里讲参数类型变为int
要不就传Test类型的参数!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-05-21
展开全部
程序的两个问题
1 Test ...arr 你没理解 这是5.0新特性的Varargs 相当于 Test[] arr
2 Test(1,2,3,4,5) 你也好好理解 你这是传的Test(int, int, int, int, int)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-05-21
展开全部
public static List Test(Test ...arr)这一句声明的arr是Test类型的数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式