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

一流的常州网站优化手机网站智能建站

一流的常州网站优化,手机网站智能建站,WordPress的文本编辑器,wordpress图床在 Java 泛型中,T、E、K、V、? 是常见的占位符符号,它们本质上没有区别,只是命名习惯不同,用于提高代码可读性。以下是详细解释和案例: 一、符号的常见含义 符号典型用途示例场景T通用类型(Type&#xff…

在 Java 泛型中,TEKV? 是常见的占位符符号,它们本质上没有区别,只是命名习惯不同,用于提高代码可读性。以下是详细解释和案例:


一、符号的常见含义

符号典型用途示例场景
T通用类型(Type)泛型类、泛型方法的通用类型占位符
E集合元素(Element)集合类(如 List<E>Set<E>
K键(Key)键值对中的键(如 Map<K, V>
V值(Value)键值对中的值(如 Map<K, V>
?通配符(Wildcard)表示未知类型(如 List<?>

二、具体案例解析

1. T(通用类型)
  • 用途:表示任意类型,常见于泛型类或泛型方法。
  • 示例:定义一个泛型类 Box<T>,可以存放任意类型的对象。
    public class Box<T> {private T content;public void setContent(T content) {this.content = content;}public T getContent() {return content;}
    }// 使用示例
    Box<String> stringBox = new Box<>();
    stringBox.setContent("Hello");
    Box<Integer> intBox = new Box<>();
    intBox.setContent(100);
    

2. E(集合元素)
  • 用途:表示集合中的元素类型,常见于集合类。
  • 示例:自定义一个简单的集合类 MyList<E>
    public class MyList<E> {private E[] elements;public void add(E element) { /* 添加元素 */ }public E get(int index) { /* 获取元素 */ }
    }// 使用示例
    MyList<String> list = new MyList<>();
    list.add("Java");
    String element = list.get(0);
    

3. KV(键值对)
  • 用途:表示键值对的键和值类型,常见于 Map 类。
  • 示例:自定义一个泛型键值对类 Pair<K, V>
    public class Pair<K, V> {private K key;private V value;public Pair(K key, V value) {this.key = key;this.value = value;}public K getKey() { return key; }public V getValue() { return value; }
    }// 使用示例
    Pair<String, Integer> pair = new Pair<>("Age", 25);
    String key = pair.getKey();    // "Age"
    int value = pair.getValue();   // 25
    

4. ?(通配符)
  • 用途:表示未知类型,常用于泛型方法的参数或返回值。
  • 示例:编写一个方法,打印任意类型集合的内容。
    public void printList(List<?> list) {for (Object item : list) {System.out.println(item);}
    }// 使用示例
    List<String> strings = Arrays.asList("A", "B", "C");
    List<Integer> numbers = Arrays.asList(1, 2, 3);
    printList(strings);  // 输出 A, B, C
    printList(numbers);  // 输出 1, 2, 3
    

三、通配符 ? 的进阶用法

1. 上界通配符 <? extends T>
  • 用途:表示类型是 T 或其子类。
  • 示例:处理数字集合(如 IntegerDouble)。
    public double sum(List<? extends Number> numbers) {double sum = 0;for (Number num : numbers) {sum += num.doubleValue();}return sum;
    }// 使用示例
    List<Integer> integers = Arrays.asList(1, 2, 3);
    List<Double> doubles = Arrays.asList(1.1, 2.2, 3.3);
    System.out.println(sum(integers));  // 6.0
    System.out.println(sum(doubles));   // 6.6
    
2. 下界通配符 <? super T>
  • 用途:表示类型是 T 或其父类。
  • 示例:向集合中添加 T 类型的元素。
    public void addNumbers(List<? super Integer> list) {list.add(1);list.add(2);
    }// 使用示例
    List<Number> numbers = new ArrayList<>();
    addNumbers(numbers);  // 可以添加 Integer 到 Number 集合
    

四、符号的命名习惯总结

符号含义典型场景
T通用类型泛型类、泛型方法
E集合元素List<E>Set<E>
KMap<K, V>
VMap<K, V>
?未知类型(通配符)泛型参数中的灵活类型处理

五、注意事项

  1. 符号可自定义
    你可以使用其他字母(如 AB),但遵循习惯能提高代码可读性。

    public class MyGeneric<A, B> { /* ... */ }  // 合法但不推荐
    
  2. 通配符 ? 的限制

    • 不能直接实例化泛型类型:List<?> list = new ArrayList<?>();
    • 正确写法:List<?> list = new ArrayList<>();
  3. 类型擦除
    泛型信息在编译后会被擦除,运行时无法获取具体类型(如 T 的实际类型)。


通过以上案例,可以清晰理解不同符号的用途和区别!


http://www.zhongyajixie.com/news/55664.html

相关文章:

  • 多语言网站建设公司长沙百度推广公司电话
  • 哈尔滨网站seo在线发外链工具
  • php做数据网站域名免费注册0元注册
  • 十堰做网站的公司正规的教育机构有哪些
  • 做兼职的网站打字员线上营销推广方案
  • 如何做网站推广雷公钻张家界seo
  • wordpress主题演示插件seo关键词优化推广
  • 网站变灰兼容代码彩虹云商城网站搭建
  • 美国做电商网站有哪些内容专业网站优化公司
  • 专业网站建设模板下载如何做一个网页
  • 罗湖附近公司做网站建设哪家好外链代发平台
  • 东方头条网站源码站内关键词自然排名优化
  • wordpress产品b2b插件江苏seo平台
  • 跨境电商公司招聘岗位及要求哈尔滨seo服务
  • 网站域名续费多少钱外贸网络推广公司
  • 做网站需要宽带网络站点推广的方法有哪些
  • 以小说名字做网站的小说网如何seo搜索引擎优化
  • 什么都不懂做网站重庆seo多少钱
  • 公司如何建设一个网站seo公司赚钱吗
  • 网站建设工作 方案中国网站排名网官网
  • wordpress怎么播放视频优化大师下载安装免费
  • 瑞安公司做网站seo技术外包
  • 什么是网站域名?什么是网络营销的核心
  • 上海集团网站建设公司好微信上如何投放广告
  • 购物网站建设思维导构图营销策略手段有哪些
  • 百度怎样收录网站描述优化方法
  • 企业网站搭建费用女教师遭网课入侵直播录屏曝光视频
  • web软件建网站推广获客
  • 美国人建设网站南宁关键词优化软件
  • 网站后台什么语武汉新闻最新消息