当前位置: 首页 > wzjs >正文

用爱站工具包如何做网站地图互联网营销师培训班

用爱站工具包如何做网站地图,互联网营销师培训班,网站搭建哪里找方便,wordpress好看的自定义页面模版一、泛型的核心作用 类型安全:在编译期检查类型匹配,避免运行时的ClassCastException。代码复用:通过泛型逻辑统一处理多种数据类型。消除强制转换:减少显式的类型转换代码。 二、泛型基础语法 1. 泛型类/接口 定义&#xff1a…

一、泛型的核心作用

  1. 类型安全:在编译期检查类型匹配,避免运行时的ClassCastException
  2. 代码复用:通过泛型逻辑统一处理多种数据类型。
  3. 消除强制转换:减少显式的类型转换代码。

二、泛型基础语法

1. 泛型类/接口
  • 定义:在类/接口名后添加类型参数<T>T为占位符类型。
     

    <JAVA>

    public class Box<T> {private T content;public void set(T content) { this.content = content; }public T get() { return content; }
    }
    
2. 泛型方法
  • 定义:在方法返回类型前声明泛型类型。
     

    <JAVA>

    public <T> void printArray(T[] array) {for (T element : array) {System.out.print(element + " ");}
    }
    
3. 泛型通配符 ?
  • 作用:表示未知类型,增强灵活性。
    • 上界通配符 <? extends T>:接受T及其子类。
       

      <JAVA>

      // 接受Number或其子类(如Integer/Double)的列表
      public void process(List<? extends Number> list) { /* ... */ }
      
    • 下界通配符 <? super T>:接受T及其父类。
       

      <JAVA>

      // 接受Integer或其父类(如Number/Object)的列表
      public void addNumbers(List<? super Integer> list) { list.add(42); }
      

三、泛型深入原理

1. 类型擦除(Type Erasure)
  • 原理:编译期将泛型类型替换为原始类型(如Object或上界类型),并在必要时插入类型转换。
    • 擦除示例:
       

      <JAVA>

      // 源码
      List<String> list = new ArrayList<>();
      String s = list.get(0);// 编译后的等效代码(类型擦除)
      List list = new ArrayList();       // 类型擦除为原始类型List
      String s = (String) list.get(0);   // 插入强制转换
      
2. 桥方法(Bridge Method)
  • 作用:确保泛型类在继承和多态中能正确调用类型擦除后的方法。
  • 示例:泛型类继承时,编译器自动生成桥方法保持多态性。

四、泛型应用场景

1. 集合框架
  • 泛型在集合中的典型应用:
     

    <JAVA>

    List<String> names = new ArrayList<>();  // 安全存储字符串
    Map<Integer, String> idToName = new HashMap<>();
    
2. 通用工具类/方法
  • 编写与具体类型解耦的工具逻辑:
     

    <JAVA>

    public static <T> T getFirst(List<T> list) {return list.isEmpty() ? null : list.get(0);
    }
    
3. 回调接口
  • 定义泛型回调接口:
     

    <JAVA>

    public interface Callback<T> {void onSuccess(T result);void onFailure(String error);
    }
    
4. 泛型与反射
  • 通过反射获取泛型实际类型(需借助ParameterizedType):
     

    <JAVA>

    Type type = new TypeToken<List<String>>(){}.getType();  // Guava库常用
    

五、泛型限制与注意事项

  1. 类型参数不能是基本类型

     

    <JAVA>

    // 错误示例
    List<int> list = new ArrayList<>();  // 需使用包装类Integer
    
  2. 无法实例化泛型类型

     

    <JAVA>

    T instance = new T();  // 编译错误
    
  3. 静态成员不能使用类型参数

     

    <JAVA>

    class Box<T> {// static T data;  // 错误
    }
    
  4. 泛型数组的限制

     

    <JAVA>

    // 不能直接创建泛型数组
    // T[] array = new T[10];  // 错误
    // 可通过反射或强制类型转换实现(存在风险)
    T[] array = (T[]) new Object[10];
    
  5. 泛型与异常

    • 不能抛出或捕获泛型类的实例。
    • 泛型类不能直接或间接继承Throwable

六、高级泛型特性

1. 递归类型边界(Recursive Type Bound)
  • 限制类型参数为当前类的子类:
     

    <JAVA>

    public class Node<T extends Comparable<T>> {// T必须实现Comparable<T>接口
    }
    
2. 类型推断(Type Inference)
  • 编译器自动推导泛型类型:
     

    <JAVA>

    List<String> list = Collections.emptyList();  // Java 7+可推断为List<String>
    

七、常见问题与解决方案

  1. 如何获取泛型的实际类型?

    • 通过子类化TypeToken(Guava库)或反射捕获类型:
       

      <JAVA>

      Type type = ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
      
  2. 何时使用ListList<?>

    • List:原始类型(存在类型不安全警告)。
    • List<?>:未知类型的集合(只能读取为Object,不能添加元素)。

总结

泛型是Java类型系统的核心机制,通过合理使用可大幅提升代码的安全性和可维护性。重点需掌握:

  • 通配符的上下界用于灵活设计API;
  • 类型擦除理解底层限制;
  • 泛型与集合、工具类的结合提升代码复用率。
http://www.dtcms.com/wzjs/490216.html

相关文章:

  • 网站建设完毕后怎么加后台镇江网站seo
  • 龙岩网站建设套餐报价百度网盘服务电话6988
  • 上海高端网站建设公百度广告点击软件源码
  • 哪个网上购物网站好郑州seo课程
  • 网站建设图片像素是多大的google排名
  • 郑州那个公司做网站好点击排名软件哪个好
  • wordpress小程序怎么不用认证审核seo搜索方法
  • 能有javaee独立做网站工资外贸营销网站建设
  • 怎么做网站首页为什么不能去外包公司
  • c 如何拖控件做网站在哪里查关键词排名
  • 营销方案 网站福州百度开户多少钱
  • ppt要怎么做网站品牌推广策略有哪几种
  • 卖产品怎么做网站东莞seo整站优化
  • 做推文的网站网络营销公司名字大全
  • 网站建设流程包括太原seo关键词排名优化
  • e通网网站建设企业网络营销推广
  • 上海宝山做网站公司排名常见的营销方式有哪些
  • 北京做公司网站搭建网站多少钱
  • 可以把网站建设在云主机上吗外贸网络推广服务
  • 贵阳市观山湖区建设局网站互联网十大企业
  • 网站建设制作设计seo优化湖北百度的营销推广
  • 深圳网站建设公司公司百度在线客服系统
  • 无费用开网店seo云优化外包
  • 门户网站的自身的特性怎么做网页宣传
  • 建设主题网站的顺序是什么意思百度收录官网
  • wordpress com cnseo推广方法集合
  • 昆明优化网站公司百度广告代理商查询
  • 中国建设监理官方网站seo服务合同
  • 网站app程序制作企业厦门seo网站推广优化
  • 帝国cms企业&行业协会网站模版搜索关键词推荐