Java arraylist<;对象>;实例化是对的还是错的? arraylistobjects=newarraylist();

Java arraylist<;对象>;实例化是对的还是错的? arraylistobjects=newarraylist();,java,arraylist,Java,Arraylist,我在java教科书中找到了上述示例。书中说上面的实例化是错误的。请给我解释一下原因 您当前的代码甚至无法编译,因为它的语法无效 Arraylist <Object> objects = new Arraylist <Object> (); 但你为什么要这么做。您可以使用特定类型声明ArrayList 例如: ArrayList stringList=新建ArrayList();//字符串数组列表 ArrayList studentList=新建ArrayList();/

我在java教科书中找到了上述示例。书中说上面的实例化是错误的。请给我解释一下原因

您当前的代码甚至无法编译,因为它的语法无效

Arraylist <Object> objects = new Arraylist <Object> ();
但你为什么要这么做。您可以使用特定类型声明
ArrayList

例如:

ArrayList stringList=新建ArrayList();//字符串数组列表
ArrayList studentList=新建ArrayList();//学生数组列表
Arraylist对象=新的Arraylist();

这实际上并没有错,但可以认为是一种不好的做法,因为每个类都是java.lang.Object的子类。这样的实现超出了泛型的目的。

问题应该是代码,而不是标题为什么要冒险铸造对象来获取元素。Java是区分大小写的。所以不,这个代码是不正确的。你为什么不试着编译它而不是问我们呢?你会在那行代码下面得到一条红线。它应该是
Object
@user3218114。谢谢你指出。左手边的类型应该是
List
而不是
ArrayList
,除非代码依赖于
ArrayList
的任何特定功能。否则,无法将
集合.emptyList()
链接列表
等分配给它@ErwinBolwidt这不是必须的。这个答案只与OP的问题有关。如果您想将引用类型用作
列表
,这很好。@RuchiraGayanRanaweera我们不知道;这可能就是“上述实例化错误”的原因。只要OP没有提供进一步的细节,就没有办法知道“教科书”认为它有什么问题。
arraylist <object> objects = new arraylist <object> () //not arraylist and object
                                                     //it is ArrayList and Object
Arraylist <Object> objects = new Arraylist <Object> ();
ArrayList<String> stringList=new ArrayList<>(); // ArrayList of String
ArrayList<Student> studentList=new ArrayList<>(); // ArrayList of Student
Arraylist <Object> objects = new Arraylist <Object> ();