Java 大小未知的数组

Java 大小未知的数组,java,Java,我有一个小问题,关于如何创建大小未知的数组。 我想最好的方法是使用java.util.ArrayList我的问题是,以下两者之间的区别是什么: ArrayList client_Catalog = new ArrayList<>(); ArrayList client_Catalog=new ArrayList(); 及 List List=new ArrayList(); 顺便说一句,在我的程序中,我试图创建一个空列表,在其中存储客户信息,所以,这个类的对象,我不知道最终的大

我有一个小问题,关于如何创建大小未知的数组。 我想最好的方法是使用java.util.ArrayList我的问题是,以下两者之间的区别是什么:

ArrayList client_Catalog = new ArrayList<>();
ArrayList client_Catalog=new ArrayList();

List List=new ArrayList();

顺便说一句,在我的程序中,我试图创建一个空列表,在其中存储客户信息,所以,这个类的对象,我不知道最终的大小

没有长度未知的数组。您可以使用固定长度的数组,也可以使用大小灵活的
列表

旁注
请记住,
String[]
可以保存对任意大小字符串数组的引用,该数组可以更改,但不能追加。您只能将以前的内容复制到更大的数组中,然后填充剩下的位置

这是一个很好的例子。是它的实现之一

ArrayList client_Catalog = new ArrayList<>();
这表示让
list
成为
list
的任何实现。它可以是
ArrayList
,也可以是实现它的任何东西。您唯一能保证的是,该项将具有
List
接口中的所有方法

现在是如何处理泛型<代码>列表
为空。有一天,有人认为没有理由为每个数据类型实现
List
,于是决定引入泛型。您必须声明此列表的类型。它是用那些
括号完成的

例如,要创建
String
s的
ArrayList
,您可以编写:

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

因为这只是一个问答区,我不会教你所有的东西,但我的答案有一些关于列表的基本知识。我还决定添加一些官方教程和文档的链接,以帮助您学习。如果您希望我扩展某些内容,请在评论中询问。

任何选项都可以满足您的要求。 最好使用列表接口作为方法的返回类型。在这种情况下,它将抽象列表的实际实现,即方法的调用方不需要知道实际实现。

ArrayList client_Catalog = new ArrayList<>();
ArrayList client_Catalog=new ArrayList();

List List=new ArrayList();
不会有什么不同。这两种方法都会起作用,而且会完全按照你的习惯进行。唯一的区别是,在第二个示例中,不仅可以有
ArrayList
。但也可以是例如
LinkedList
或实现的其他对象


在你的情况下,如果你想100%依赖它,我会选择upper以确保它始终是一个
ArrayList

对于初学者来说,既不编译,也不编译……但是你会在查看“什么是原始类型,为什么要避免它”以及“编程到接口”时找到安慰.这两行之间的差异与创建未知大小的数组有什么关系?
ArrayList<String> myList = new ArrayList<>();
ArrayList client_Catalog = new ArrayList<>();
List<> list = new ArrayList<>();