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

Java泛型Generic

认识泛型

定义类,接口,方法时,同时声明了一个或多个类型变量,如
泛型类,泛型接口,泛型方法
泛型可以约束在编译阶段能操作的数据类型,并自动检查。
本质原因:把具体的数据类型作为参数传给类型变量
如ArrayList List =new ArrayList();
在这里插入图片描述
E代表element,元素类型,T代表返回值类型,K键类型,V值类型。
一般用E就可以

泛型类

在这里插入图片描述

泛型接口

在这里插入图片描述
在这里插入图片描述

泛型方法

在这里插入图片描述
右边不是泛型方法的原因是E是由它所在的泛型类定义的。
正确的是左边是自己定义的泛型方法。

在这里插入图片描述
下面两个方法中的T可以接收Student【】类,也可以String类。
在最下面的方法中,返回值也可以设置为T,进来什么返回什么。

通配符和上下限

在使用泛型时用,泛型类,泛型接口,泛型方法这三种都是定义泛型
在这里插入图片描述
遇到的问题:(黑色那行)
在这里插入图片描述
解决:下图:用通配符。但是又遇到了新问题。我的本意是让车比赛,有人悄悄把狗放进了(dog不是car的子类)
在这里插入图片描述
解决:泛型上下限
在这里插入图片描述

在这里插入图片描述

泛型支持的类型:引用数据类型

不支持基本类型,只能支持对象类型(引用数据类型)
why?思考原因
在这里插入图片描述
如果这样的话,最后12就交给了object的变量,但是12不是对象。
解决
我们把基本数据类型也包装成对象类型,出现了包装类

包装类

在这里插入图片描述
记忆:int是Integer,char是Character,其余的是首字母大写
例题
在这里插入图片描述
结果为true,原因是推荐的第二种方法实际上返回值是我们已经预先默认创建好的-128到127的对象。所以是一样的地址。
在这里插入图片描述
结果为false。原因是超过127,所以真的new

自动装箱与拆箱

在这里插入图片描述

在这里插入图片描述
所以实际上我们从前写的,如下图蕴含了装箱与拆箱。130此时其实已经装箱为了对象
在这里插入图片描述

包装类新增的功能

基本类型转字符串

在这里插入图片描述
我们事实上采用第三种方案,任意内容加字符串双引号得到字符串。

字符串转基本数据类型

在这里插入图片描述


http://www.mrgr.cn/news/58382.html

相关文章:

  • 什么是域名?什么是泛域名?
  • 协议 HTTP
  • Unity Apple Vision Pro 保姆级开发教程-环境配置、导入 PolySpatial 案例、程序发布到设备
  • 今年2024的1024文章
  • 前端算法:树(力扣144、94、145、100、104题)
  • Matlab 疲劳驾驶检测
  • HuYa 2.1.18.4| 聚合多平台的电视直播软件
  • OpenFace安装教程及踩坑记录 (Ubuntu20.04—2024.10.24)
  • 私域小程序怎么运营,如何引流?(三)
  • 基于神经网络的农业病虫害损失预测
  • 双十一好用的家居好物有哪些?这五款产品绝对值得入手!
  • ue5实现数字滚动增长
  • 【K8S系列】Kubernetes Service 基础知识 详细介绍
  • 数据结构概述
  • 全位解读:“数据要素”的那些事!
  • 只想简单跑个 AI 大模型,却发现并不简单
  • Lua语法基础全面剖析(上篇)
  • 【算法】超快理解冒泡排序(含c#、c++、java、python代码)
  • BLIP2部署教程
  • Python突破浏览器TLS/JA3 指纹
  • BestMan:具有统一仿真硬件 API 的模块化移动机械手平台,用于具身 AI
  • 深入解析Java中的锁
  • 【漏洞复现】金和OA_jc6_ntko-upload任意文件上传漏洞.md
  • 制作视频费时费力?在这里只要简单几步就够了
  • 深入拆解TomcatJetty——Tomcat生命周期与多层容器
  • 【设备状态与人员动态的监测和呈现-会议签到的补充】