Java 使用.add.size和.get方法的ArrayList无法解析方法为什么?

Java 使用.add.size和.get方法的ArrayList无法解析方法为什么?,java,arraylist,Java,Arraylist,大家好,我是新来的,我不确定这是否已经被涵盖,但会一直寻找,直到我收到一些答案,或找到他们,如果我找到他们,我会把这篇文章下来。不管怎么说,我的问题是,我一直在关注这门在线课程,在视频中,所教的示例与我在ide中写的完全一样,我进行了四次检查,以确保没有差异,但当老师运行代码时,它执行得很好,当我尝试添加名称时,它显示无法解决方法错误指向名为.addJames等的ArrayList。。当我尝试在for循环中使用name.size或在println命令中使用name.get时,我真的不明白为什么会

大家好,我是新来的,我不确定这是否已经被涵盖,但会一直寻找,直到我收到一些答案,或找到他们,如果我找到他们,我会把这篇文章下来。不管怎么说,我的问题是,我一直在关注这门在线课程,在视频中,所教的示例与我在ide中写的完全一样,我进行了四次检查,以确保没有差异,但当老师运行代码时,它执行得很好,当我尝试添加名称时,它显示无法解决方法错误指向名为.addJames等的ArrayList。。当我尝试在for循环中使用name.size或在println命令中使用name.get时,我真的不明白为什么会发生这种情况,也不知道如何着手解决它。再一次,我是这个语言和论坛的新手,所以如果我没有给出足够清楚的解释,我很抱歉,我会附上我所做的代码,让你知道我在处理什么。谢谢你的帮助

package com.example.arrays;

import java.util.ArrayList

public class ArrayList
{
       public static void main(String [] args)
       {
           //Standard Java arrays are of a fixed length. After arrays are created,
           //they cannot grow or shrink, which means that you must know in advanced
           //how many elements an array will hold.

           //Array lists are vreated with an initial size. When this size is exceeded
           //the collection is automatically enlarged. When objects are removed,
           //the array may be shrunk.

           ArrayList<String> names = new ArrayList<>();

           names.add("James");//0
           names.add("Peter");//1
           names.add("John");//2
           names.add("Jake");//3
           names.add("Paul");//4

           for (int i = 0 ; i < names.size(); i++)
           {
               System.out.println(names.get(i));
           }
}

这里的问题是,您已经将类命名为ArrayList,因此当您实例化名称时,编译器不确定您是否要创建新的java ArrayList,或者您是否引用自己的类。尝试将类重命名为其他名称,如ArrayList。

这里的问题是您已将类命名为ArrayList,因此当您实例化名称时,编译器不确定您是否要创建新的java ArrayList,或者您是否引用自己的类。尝试将您的类重命名为其他类,例如ArrayList。

ArrayList引用您的类本身,正如您将其命名为ArrayList一样。重命名它或者请注意,您需要更改类声明和文件名,除非您使用的IDE可以为您处理重命名,或者删除导入并限定对java.util.ArrayList的所有访问,如下所示:

ArrayList引用类本身,正如您将其命名为ArrayList一样。重命名它或者请注意,您需要更改类声明和文件名,除非您使用的IDE可以为您处理重命名,或者删除导入并限定对java.util.ArrayList的所有访问,如下所示:


升级投票,因为OP可能想保住这个班name@aran不应该。给你的类起与知名类相同的名字是很容易混淆的。升级投票是因为OP可能想保留这个类name@aran不应该。将类命名为与已知类相同的名称是很容易混淆的。
java.util.ArrayList<String> names = new java.util.ArrayList<>();