第十三章 枚举类型和泛型

MicroPython驱动ST7789屏避坑实录:从GB2312到完整中文字库的升级之路 本文详细介绍了使用MicroPython驱动ST7789显示屏实现完整中文字库显示的实战方案。从硬件选型到字库系统改造,再到内存优化和显示性能提升,提供了一套突破GB2312限制的全套中文显示解决方案,特别适合ESP32开发者在物联网设备中实现高质量中文显示。 阅读详情

13.2.2定义泛型类
Object类为最上层的父类,很多程序员为了让程序更为通用,设计程序的时候通常使用传入的值与返回的值都已Object类型为主。当需要使用这些实例的时候,必须正确地将该实例转换为原来的实例,否则在运行是会发生ClassCastException异常

为了预防这种问题 java提供了泛型机制 


类名 <T>

其中T是泛型地名称 , 代表了某一种类型。开发者在创建该类对象时 需要制定T代表了具体哪种类型,如果不指定的话 T则采用了Object类型

如以下代码所示

package 第十三章;
 
public class Book <T>{
private T booklnfo;
public Book(T booklnfo) {//参数为类型参地构造方法
    this.booklnfo =booklnfo;//给消息赋值
}
public T getBooklnfo() {
    return booklnfo;
}
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Book<String>bookName = new  Book<String>("《java从入门到退学》");
        //创建String类型的书名
        Book<String>bookAuthor = new  Book<String>("明日科技");
        //创建String类型的作者
        Book<Double>bookPrice = new  Book<Double>(69.8);    
        //创建Double类型的价格对象
        Book<Boolean>hasSource = new  Book<Boolean>(true);
        //创建boolean类型判断是否赋值源代码
        System.out.println("书名:"+bookName.getBooklnfo());//然后依次输出
        System.out.println("作业:"+bookAuthor.getBooklnfo());
        System.out.println("价格:"+bookPrice.getBooklnfo());
        System.out.println("是否附赠源码:"+hasSource.getBooklnfo());
    }
 
}

代码图 以及运行结果图

代码中一共new了四个对象  两个 String类型 一个double类型 一个boolean类型   依次定义 然后输出    使用泛型定义额类在生命该类对象时  可以根据不同地需求指定<T>真正地类型 ,而是在使用类中的方法传递或返回 数据类型时将不再进行类型转换操作,而是使用在生命泛型类对象是“<>”符号中设置数据类型

13.2.3 泛型的常规用法
1. 在定义泛型类时,可以声明多个类型 代码如下
class MyClass<T1,T2>{}

其T1,T2是可以背定义的类型

这样的话既可以一下实例化多个类型  代码如下

MyClass<Boolean,Float> m = new MyClass <Boolean,Float>();

2.  定义泛型类 时声明数组类型  代码如下

package 第十三章;
 
public class ArrayClass <T>{
private T[]array;//创建泛型的数组v
public T[]getArray(){//使用get方法来读取
    return array;//返回array
}
public void steArray(T[]array) {//使用set方法
    this.array=array;//this关键字给array赋值
}
public static void main (String[]args) {
    ArrayClass<String>demo=new  ArrayClass<String>();//创建泛型为String类型的独享
    String value[]= {"成员1","成员2","成员3","成员4","成员5",};//添加数据
    demo.steArray(value);
    String array[] = demo.getArray();//使用get方法读取读取然后一次遍历输出
    for(int i = 0;i<array.length;i++) {//循环遍历出数组中的数据
        System.out.println(array[i]);
    }
}
}

代码图 以及运行结果图

3.集合类声明容器的元素
JDK中的集合接口,集合类都被定义了泛型,其中List<E>的泛型E实际上就是element元素的首字母Map<K,V>的泛型 K和V就是key键和value键的首字母。常用的被泛型化的集合类如下

表13.2常用的被泛型化的集合类

集合类                     泛型定义
ArrayList    ArrayList<E>
HashMap    HashMap<K,V>
HashSet    HashSet<E>
 

C#里用HttpListener实现WEB API接口服务端 本文介绍了一个基于WinForm的HTTP服务实现方案。该方案使用HttpListener类创建了一个支持JSON POST请求处理的轻量级Web服务器,主要特点包括:1) 纯线程方式实现请求监听和处理;2) 提供标准化的JSON响应格式;3) 支持自定义请求处理逻辑;4) 包含完整的日志记录功能。代码示例展示了如何初始化服务、处理不同类型的请求(包括JSON POST),并提供了线程安全的UI更新机制。该实现适用于需要简单HTTP接口的Windows桌面应用程序,可作为程序间通信的基础设施。 阅读详情

相关推荐

Ubuntu中snap简单介绍

通过Snap可以安装众多的软件包。需要注意的是,snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间 介绍一些常用命令,有点类似docker 1、查看已经通过snap安装的snap包 snap list可以查看 2、可以搜索想要的snap包,例如tomcat snap search tomcat

icanflying的博客 4万+

第十三章枚举类型和泛型

代码中一共new了四个对象 两个 String类型 一个double类型 一个boolean类型 依次定义 然后输出 使用泛型定义额类在生命该类对象时 可以根据不同地需求指定<T>真正地类型 ,而是在使用类中的方法传递或返回 数据类型时将不再进行类型转换操作,而是使用在生命泛型类对象是“<>”符号中设置数据类型。String value[]= {"成员1","成员2","成员3","成员4","成员5",};public void steArray(T[]array) {//使用set方法。

2301_76552183的博客 188

open-web UI 实用指南

open-web UI 类似于chatgpt的界面,可以私有化模型本地部署,也可以用商业模型.本文只是用开源模型. 它以实现多模态AI聊天 , AI 翻译 , 语音转文本, 文本转语音, 文生图,代码助手,可谓利器。

szmars的博客 3万+

第十三章 枚举类型与泛型

枚举类型较传统定义常量的方式,除具有参数类型检测的优势外,还具有其他方面的优势。用户可以将一个枚举类型看作是一个类,它继承于java.lang.Enum类,当定义一个枚举类型时,每一个枚举类型成员都可以看作是枚举类型的一个实例,这些枚举类型成员都默认被final、public、static修饰,所以当使用枚举类型成员时直接使用枚举类型名称调用枚举类型成员即可。在四季枚举中创建一个字符串类型的备注属性,并创建该属性的Getter方法,在枚举构造方法中为备注属性赋值,最后输出每一个季节枚举的备注值。

2302_76545553的博客 980

KF-gins输出结果绘图

KF-gins输出结果绘图

m0_51977577的博客 1107

从‘全步’到‘微步’:一张图看懂步进电机细分控制,选对模式让你的项目更丝滑

本文深入解析步进电机细分控制技术,从全步到微步的演进过程,帮助工程师根据项目需求选择最优控制模式。通过对比不同细分等级的性能特点和应用场景,提供3D打印、实验室自动化等领域的黄金配置方案,实现更精准、平稳的电机控制效果。

weixin_29290259的博客 471

第十三章 枚举类型与泛型总结

泛型的类型参数只能是类类型,不可以是简单型,如A<int>这种泛型定义就是错的泛型的类型个数可以是多个可以使用extends关键字限制泛型的类型可以使用通配符限制泛型的类型。

A3141950的博客 842

一文搞懂LDO !

Start-up 时间是 IC 做死的,如果想要延时启动,最简单的办法是在 EN 上接一个大一些的电容到地,构成一个简单的 RC 电路。电容太小,电压跌落大,响应快。输出电流高,功率大;外围器件少,电路简单,成本低,负载响应快,输出纹波小;将采集的电压输入到比较器反向输入端,与正向输入端的基准电压(期望输出的电压)进行比较,再将比较结果进行放大;是指在给定负载变化下的输出电压的变化,这里的负载变化通常是从无负载到满负载。芯片的静态电流大小与其他性能成反关系,如低噪声,高电源电压抑制比,静态电流大。

weixin_46969363的博客 4384

第十三章枚举类型与泛型

语法:类名<T>在定义泛型类时,可以声明多个类型。语法如下:其中,T1和T2为可能被定义的类型。这样,在实例化指定类型的对象时就可以指定多个类型。例如:定义泛型类时也可以声明数组类型,下面的实例中定义泛型时便声明了数维类型1.泛型的类型参数只能是类类型,不可以是简单类型,如 A<in>这种泛型定义就是错误的2.泛型的类型个数可以是多个。3.可以使用 extends 关键字限制泛型的类型4.可以使用通配符限制泛型的类型。

2303_76552114的博客 904

第二章:创建交互式地图

那么您应该已经有了一个安装了这些包的 conda 环境。否则,您需要创建一个新的 conda 环境并使用以下命令安装。

韩天放 4217

Altium Designer应用技巧5: Altium Live账号的获得

为了更好的应用Altium Designer,我们需要得到一个Altium Live账号,但从其英文或者中文官方网站取得,都需要7个工作日的时间,而且对于个人用户来说,并不是100%都能够获取到。本文介绍一种,从俄罗斯Altium官方网站获取账号的方法,可以立即使用。     1、点击http://live.altium-ru.com/#Join网址进入俄罗斯Altium官方网站,Altiu

snmplink的博客 1万+

Java第十三章枚举类型与泛型

本篇文章,主要讲述了枚举类型、泛型

好好活就是做有意义的事,做有意义的事就是好好活 494

STM32+FreeRTOS环境下LwIP协议栈移植详解

本文详细介绍了在STM32F407ZGT6平台上移植轻量级TCP/IP协议栈LwIP的过程。使用FreeRTOS操作系统和LAN8720A以太网PHY芯片,通过STM32CubeMX生成基础工程配置。重点包括LwIP源码的获取与工程集成、关键配置文件的编写(如lwipopts.h)、操作系统适配层sys_arch.c的实现,以及以太网接口驱动ethernetif.c的移植。文章特别强调内存管理、中断优先级、硬件校验和等关键配置项的注意事项,为基于STM32和LwIP的嵌入式网络开发提供了实用参考。

电脑管家 754

第十三章总结:枚举类型与泛型

13.1.1:使用枚举类型设置常量1:使用枚举类型设置常量设置常量时,我们通常将常量放置在接口中,这样在程序中就可以直接使用该常量不能被修改因为在接口中定义常量时,该常量的修饰符为final与static常规定义常量的代码如下。//常规定义变量代码变量代码,public static final int constants_B=2;}枚举类型出现后逐渐取代了。其中, enum 是定义枚举类型的关键字,当需要程序中使用该常量时,可以使用Constants和Constants_A来表示。

m0_73576495的博客 523

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

第十三章总结——枚举类型与泛型

1.object类为最上层的父类,很多程序员为了使程序更为通用,设计程序时通常使传入的值与返回objct类型为主。当需要使用这些实例时,必须正确地将该实例转换为原来的类型,否则在时将会发生 ClassCastException 异常。2.Java提供了泛型机制。其语法如下类名[例13.6]创建带泛型的图书类public class Book {//定义带泛型的book类//参考类型:书籍信息public Book(T bookInfo) {//参数为类型形参的构造方法。

m0_74981829的博客 459

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

第十三章---枚举类型与泛型

1.object类为最上层的父类,很多程序员为了使程序更为通用,设计程序时通常使传入的值与返回objct类型为主。当需要使用这些实例时,必须正确地将该实例转换为原来的类型,否则在时将会发生 ClassCastException 异常。2.Java提供了泛型机制。其语法如下类名<T>[例13.6]创建带泛型的图书类public class Book<T> {//定义带泛型的book<t>类//参考类型:书籍信息public Book(T bookInfo) {//参数为类型形参的构造方法。

2302_76534780的博客 179

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: java实现简易扑克牌(炸金花)
下一篇: 第十二章 集合类
JOSOD
博客等级 码龄4年 52粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值