Java泛型的两种创建对象方法的区别

new java()和new java()有什么区别?
在泛型类对象创建中,有什么区别?

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/737445
  • 这篇博客也不错, 你可以看下面试官:Java的重写和重载有什么区别?
  • 你还可以看下java参考手册中的 java-学习Java语言 - 描述Java编程语言的基本概念和特点的课程。-类和对象》描述了如何编写创建对象的类,以及如何创建和使用对象。-物品
  • 除此之外, 这篇博客: Java中new对象的过程问题中的 在栈区开辟空间 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 如果有类似于Object obj = new Object()形式的obj引用的话,在栈区定义Object 类型引用变量obj,然后将堆区对象的地址赋值给它;

  • 您还可以看一下 付强老师的零基础Java入门课程-类和对象课程中的 java类的声明小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    答案:

    Java中泛型类对象创建有两种方法:

    1.使用"new 类名()"创建泛型类对象,这种方法创建的泛型类对象不指定具体类型,需要在使用时用具体类型来替代泛型类型。例如:

    List list = new ArrayList();
    list.add("hello");
    String str = (String) list.get(0);//需要强制转换成String类型
    

    2.使用"new 类名()"创建泛型类对象,这种方法创建的泛型类对象指定了具体类型,在使用时不再需要指定具体类型,例如:

    List<String> list = new ArrayList<String>();
    list.add("hello");
    String str = list.get(0);//不需要强制转换
    

    两种方法的区别在于,第一种方法创建的泛型类对象不指定具体类型,需要在使用时用具体类型来替代泛型类型;而第二种方法创建的泛型类对象已经指定了具体类型,不需要在使用时再去指定。

    需要注意的是,无论使用哪种方法创建泛型类对象,都需要在类名后面加上""来指定该类是泛型类。例如:

    public class MyClass<T>{
        //...
    }