让你滚滚一直的Java的泛型常识点梳理
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的泛型仅仅在编译期有用,在运行期则会被擦除,也就是说全部的泛型参数范例在编译后城市被破除去。这就是我们常常说的范例擦除。 因此,也可以说:泛型范例在逻辑上看以当作是多个差异的范例,现实上都是沟通的根基范例。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |