Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList构造函数错误_Java_Arraylist_Constructor_Arguments - Fatal编程技术网

Java ArrayList构造函数错误

Java ArrayList构造函数错误,java,arraylist,constructor,arguments,Java,Arraylist,Constructor,Arguments,我是一名Java初学者,目前正在使用Java版本8。当我编码时,我遇到了以下问题,但我真的找不到问题所在。 我试图通过声明 ArrayList al=new ArrayList(100000); …初始容量为100000。 但是程序返回一个错误,说 The constructor ArrayList(int) is undefined. 为了确保这一点,我甚至搜索了类java.util.ArrayList的API文档,当然,它说 ArrayList​(int initialCapacit

我是一名Java初学者,目前正在使用Java版本8。当我编码时,我遇到了以下问题,但我真的找不到问题所在。 我试图通过声明

ArrayList al=new ArrayList(100000);  
…初始容量为100000。 但是程序返回一个错误,说

The constructor ArrayList(int) is undefined.
为了确保这一点,我甚至搜索了类java.util.ArrayList的API文档,当然,它说

ArrayList​(int initialCapacity):
Constructs an empty list with the specified initial capacity.
…在其构造函数摘要中

另外,第二个问题是:
声明ArrayList后,我尝试将其用作add方法的参数,但它说

The method add(List) in the type ArrayList3 is not applicable for the arguments (ArrayList). 
我的完整代码如下:

import java.util.*;
public class ArrayList3 {
        public static void main(String[] args) {
                ArrayList al=new ArrayList(100000);
                LinkedList ll=new LinkedList();
                System.out.println("ArrayList: "+add(al));
                System.out.println("LinkedList: "+add(ll));
        }

        public static long add(List list) {
            long start = System.currentTimeMillis();
            for(int i=0;i<10000;i++) 
                list.add(i+" ");
            long end = System.currentTimeMillis();
            return start - end;
        }
}
import java.util.*;
公共类ArrayList 3{
公共静态void main(字符串[]args){
ArrayList al=新ArrayList(100000);
LinkedList ll=新建LinkedList();
System.out.println(“ArrayList:+add(al));
System.out.println(“LinkedList:+add(ll));
}
公共静态长添加(列表){
长启动=System.currentTimeMillis();

对于(int i=0;i您的包中有另一个
ArrayList
类,它与
java.util.ArrayList
冲突。它可能是一个真实的类,也可能是以前编译的结果

请注意,由于名称冲突,这将无法编译

package stackOv;    
import java.util.*;
public class ArrayList {
    public static void main(String[] args) {
        ArrayList al=new ArrayList(100000);
    }
}
而这将编译,因为使用完全限定名可以解决冲突

import java.util.*;
public class ArrayList {
    public static void main(String[] args) {
        java.util.ArrayList al=new java.util.ArrayList(100000);
    }
}

编译很好。无法重现错误。清理和重建?在Java 8中运行良好。您有一个
ArrayList 3
类。我猜您也有一个自定义
ArrayList
类。您有另一个名为
ArrayList
的类,与
ArrayList 3
位于同一源文件或同一包中(毫不奇怪,这里显示的类名为
ArrayList3
)这将起作用,但是,了解类路径中导致此问题的另一个ArrayList是什么很重要,谢谢,实际上我在同一个包中创建了一个ArrayList类,在我删除它之后,第一个问题得到了解决;但我仍然无法修复第二个问题,即我使用参数ty创建的方法List的pe表示“类型ArrayList 3中的方法add(List)不适用于参数(ArrayList)“。我想知道程序是否会与ArrayList.add冲突,我尝试将方法名称更改为“measure”,但错误仍然没有消失。我真的不明白为什么会发生此问题;类ArrayList是否实现接口列表?也许可以在没有此自定义ArrayList的情况下尝试其他工作空间。