加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

让你滚滚一直的Java的泛型常识点梳理

发布时间:2021-05-22 04:39:31 所属栏目:编程 来源:互联网
导读:最近技能交换群里,有伴侣问:Object和泛型T有啥区别。答复完题目,不禁在想,口试在即,尚有那么多伴侣不了泛型?是时辰给各人清算一篇泛型相干的文章了,一篇文

       9: ldc           #6                  // String zhuan2quan 

      11: invokeinterface #5,  2            // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z 

      16: pop 

      17: aload_1 

      18: ldc           #7                  // String 措施新视界 

      20: invokeinterface #5,  2            // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z 

      25: pop 

      26: aload_1 

      27: invokeinterface #18,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 

      32: astore_2 

      33: aload_2 

      34: invokeinterface #19,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z 

      39: ifeq          80 

从字节码中可以看出,List.add要领本质上就是一个Object。再次证明,Java的泛型仅仅在编译期有用,在运行期则会被擦除,也就是说全部的泛型参数范例在编译后城市被破除去。这就是我们常常说的范例擦除。

因此,也可以说:泛型范例在逻辑上看以当作是多个差异的范例,现实上都是沟通的根基范例。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读