Java 用于环路&;ArrayList<;整数>;
这是Sun认证Java Associate学习指南第2章中的一个简单练习,我遇到了一些问题。当我尝试编译下面的类时,我收到以下错误消息: 错误:类型ArrayList不接受参数 ArrayList HookSizeList=新建ArrayList;”Java 用于环路&;ArrayList<;整数>;,java,for-loop,arraylist,iteration,Java,For Loop,Arraylist,Iteration,这是Sun认证Java Associate学习指南第2章中的一个简单练习,我遇到了一些问题。当我尝试编译下面的类时,我收到以下错误消息: 错误:类型ArrayList不接受参数 ArrayList HookSizeList=新建ArrayList;” import java.lang.Iterable; 公共类数组列表{ 公共静态void main(字符串[]args){ 整数hookSizeList; ArrayList HookSizeList=新建ArrayList(); hookSize
import java.lang.Iterable;
公共类数组列表{
公共静态void main(字符串[]args){
整数hookSizeList;
ArrayList HookSizeList=新建ArrayList();
hookSizesList.add(1);
hookSizesList.add(4);
hookSizesList.add(5);
对于(整数hook:hookSizesList)System.out.print(hook+“”);
}
}
我真的非常感谢任何事先的帮助,谢谢 您可能希望使用类
java.util.ArrayList
。但是由于您将自己的类命名为ArrayList
,因此这是您的程序使用的类,并且您的ArrayList
类不接受任何泛型参数。更改类的名称并导入java.util.ArrayList
您的类不使用泛型,因此无法使用
参数化ArrayList
。除此之外,您似乎没有实现add()
方法,也没有实现Iterable
或任何其他相关内容。但要解决泛型问题,必须有一个类声明,如:public-class-ArrayList
也许您正试图
导入java.lang.ArrayList代码>?在这种情况下,您可能需要考虑将您的类重命名为其他内容。 < P>代码中定义的<代码> ARARYLIST/<代码>类(不是<代码> java .UTIL.ARYLISTAB/COD>)不定义任何泛型类型参数,因此不能使用<代码>新的RayayList](/Cuth>),而只使用<代码>新的RayayList](< /代码>)(同样用于变量声明).您应该为类使用不同的名称。将您的类从ArrayList
重命名为其他名称。您有许多错误,下面是一个更新的代码段
import java.util.*;
public class Numbers {
public static void main(String[] args) {
List<Integer> hookSizesList = new ArrayList<Integer>();
hookSizesList.add(1);
hookSizesList.add(4);
hookSizesList.add(5);
for (Integer hook: hookSizesList) {
System.out.print(hook + " ");
}
}
}
import java.util.*;
公共课号{
公共静态void main(字符串[]args){
List hookSizesList=new ArrayList();
hookSizesList.add(1);
hookSizesList.add(4);
hookSizesList.add(5);
用于(整数挂钩:挂钩大小列表){
系统输出打印(钩子+“”);
}
}
}
您创建的类名为ArrayList
public class ArrayList {
该示例所涉及的类是java.util.ArrayList
public class ArrayList {
更改类的名称并导入java.util.ArrayList。有一些奇怪的事情:
public class ArrayList {
首先,您没有导入java.util.ArrayList
您不需要导入java.lang.Iterable,因为java.lang中的类是自动导入的
您的类与ArrayList同名,这不是一个好主意。编写“ArrayList hookSizesList=new ArrayList();”时,您正在初始化java.util.ArrayList,但您自己的类不是泛型类。试着做:
导入java.util.ArrayList
public class MyArrayList {
public static void main(String[] args) {
Integer hookSizeList; //<--looks useless
ArrayList<Integer> hookSizesList = new ArrayList<Integer>();
hookSizesList.add(1);
hookSizesList.add(4);
hookSizesList.add(5);
for (Integer hook: hookSizesList) System.out.print(hook + " ");
}
}
公共类MyArrayList{
公共静态void main(字符串[]args){
Integer hookSizeList;//可能是因为它没有显示任何研究成果;)更改了我的类名和导入语句,它工作正常,感谢JB NizeList的快速响应!我很尴尬我使用了“ArrayList”作为一个类名。我改变了它和我的导入语句,就像你的代码片段一样,它编译得很好!感谢你的快速详细响应!这很有意义。作为一个noob,我感谢你的快速澄清michael!这非常令人鼓舞!Fabio,作为一个小孩,我感谢你对我的问题的清晰回答。没有它们,这将是一个错误对于像我这样的孩子来说,教自己如何编程要困难得多。我希望我有声望点来投票支持所有这些答案!