泛型汇总(一)

1、泛型指的是不确定类型的元素,泛型可以写到方法上面,也可以写到类上面;
如写到类上面的泛型;泛型可以继承固定类bean对象

public abstract class AbstractOrderFacade<TCreate extends IBaseOrderParams, TModify extends IModifyDraftOrderParams, TSubCreate extends AbstractCreateSalesOrderParam> {
......
}

2、泛型擦除
在泛型的使用过程中,有个现象需要特别注意一下,那就是泛型擦除,泛型仅存在于编译时,JVM中是不存在泛型的,我们可以将上述ArrayList.class文件进行反编译,可以通过jad反编译工具,也可以通过网上的在线工具均可哈。 反编译后源码:

复制代码
//反编译后的代码
package com.javabuild.server.pojo;

import java.util.Arrays;

class Arraylist {

   private Object[] elementData;
   private int size = 0;


   public Arraylist(int initialCapacity) {
      this.elementData = new Object[initialCapacity];
   }

   public boolean add(Object e) {
      ++this.size;
      this.elementData[this.size] = e;
      return true;
   }

   Object elementData(int index) {
      return this.elementData[index];
   }

   public Object[] toArray(Object[] a) {
      return (Object[])Arrays.copyOf(this.elementData, this.size, a.getClass());
   }

   public static void printArray(Object[] inputArray) {
      Object[] var1 = inputArray;
      int var2 = inputArray.length;

      for(int var3 = 0; var3 < var2; ++var3) {
         Object element = var1[var3];
         System.out.printf("%s", new Object[]{element});
      }

   }
}
复制代码

可以发现Java中的泛型均被Object替换,因为在JVM解析的过程中会进行泛型的擦除操作。

posted @   郭慕荣  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
历史上的今天:
2022-02-18 理解、学习与使用 JAVA 中的 OPTIONAL
2022-02-18 将list集合,元素随机打乱
2022-02-18 IDEA中gradle构建时跳过单元测试类
点击右上角即可分享
微信分享提示