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);
}
} 展开
有谁帮我看下.。
代码如下:
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);
}
} 展开
展开全部
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());
}
}
}
尽量把前面那个 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());
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询