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

Java 模版进阶

文章目录

  • 模版
    • 通配符

在这里插入图片描述

模版

在这里插入图片描述

通配符

  1. 实例
import java.util.ArrayList;
import java.util.List;class Message<T> {private T message ;public T getMessage() {return message;}public void setMessage(T message) {this.message = message;}
}
public class test {public static void main(String[] args) {Message<String> message = new Message<>() ;message.setMessage("比特就业课欢迎您");fun(message);Message<Integer> message1 = new Message<>();message1.setMessage(10);fun(message1);}// 并不知道Message<?> 传的是什么类型,所以使用通配符,可以匹配传入的类型public static void fun(Message<?> temp){System.out.println(temp.getMessage());// temp.setMessage(12);// 不可以设置通配符,因为不知道它的类型是什么}
}/*
public class test {public static void main(String[] args) {List<Integer> list = new ArrayList<>();List<String> list1 = new ArrayList<>();}
}
*/
  1. 通配符的上界和下界
    上界:<?extends 类> 通配符上界
    下界:<? super 类> 通配符下界

在这里插入图片描述
通配符上界实例:
不能使用setMessage(new Banana())
因为Banana()不一定是对应的那个子类对象实例
在这里插入图片描述
通配符下界:
在这里插入图片描述
实例:
可以使用setMessage(new Apple())
因为Apple可以进行向上转型成Fruit或者是Food
getMessage()不可使用,使用时分不清是Fruit还是Food
所以要使用时要进行强转
在这里插入图片描述

http://www.dtcms.com/a/316903.html

相关文章:

  • C#案例实战
  • 18day-人工智能-机器学习-分类算法-朴素贝叶斯分类
  • 8.5学习总结
  • Linux下部署Minecraft服务器
  • sqli-labs靶场less36-less40
  • 计算机二级java选择题真题【内附解析】
  • 页表实现机制,分页的缺点,三层页表的原理,页表的意义
  • 微软Dragon Ambient eXperience (DAX) 深度解析
  • mq_open系统调用及示例
  • 嵌入式ARM程序高级调试基础:2.举例说明中断处理时PC值和LR寄存器的具体关系?
  • 数据结构(三)双向链表
  • Linux的LVM逻辑卷管理操作指南
  • 网络编程异步connect学习
  • SpringCloud学习------Hystrix详解
  • java每日精进 8.04【文件管理细致分析】
  • 《手撕设计模式》系列导学目录
  • 仓颉编程语言的基本概念:标识符、变量、注释
  • 信息安全概述--实验总结
  • mcu中的RC振荡器(Resistor-Capacitor Oscillator)
  • 企业高性能web服务器
  • 【docker】UnionFS联合操作系统
  • 2025年渗透测试面试题总结-02(题目+回答)
  • 一种红外遥控RGB灯带控制器-最低价MCU
  • Redis类型之String
  • linux-单用户模式、营救模式
  • 高阶 RAG :技术体系串联与实际落地指南​
  • RHCA03--硬件监控及内核模块调优
  • 【Spring Cloud】-- RestTeplate实现远程调用
  • Java开发时出现的问题---并发与资源管理深层问题
  • 嵌入式开发学习———Linux环境下IO进程线程学习(四)