轻松熊猫眼石 2023-05-24 02:41 采纳率: 83.3%
浏览 11
已结题

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

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

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-24 04:14
    关注
    • 这个问题的回答你可以参考下: 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>{
          //...
      }
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月1日
  • 已采纳回答 5月24日
  • 创建了问题 5月24日