仿腾讯网站源码东莞市网站开发

张小明 2026/1/2 16:04:21
仿腾讯网站源码,东莞市网站开发,井陉县城乡建设局网站,做网站站长交加盟费定义类、接口、方法时#xff0c;同时声明了一个或多个类型变量#xff08;如#xff1a;E#xff09;#xff0c;称为泛型类、泛型接口、泛型方法#xff0c;他们统称为泛型。public class ArrayListE {//... }作用#xff1a;泛型提供了在编译阶段约束…定义类、接口、方法时同时声明了一个或多个类型变量如E称为泛型类、泛型接口、泛型方法他们统称为泛型。public class ArrayListE{ //... }作用泛型提供了在编译阶段约束所能操作的数据类型并自动进行检查的能力这样可以避免强制类型转换及其可能出现的异常。泛型的本质把具体的数据类型作为参数传递给类型变量。为什么要使用泛型先来看我们不使用泛型时往集合中添加元素有什么问题import java.util.ArrayList; import java.util.Iterator; public class Test { public static void main(String[] args) { //1.创建集合的对象 ArrayList list new ArrayList(); //2.添加数据 list.add(123); list.add(aaa); list.add(new Student(zhangsan, 21)); //3.遍历集合获取里面的每一个元素 Iterator it list.iterator(); while (it.hasNext()) { Object obj it.next(); System.out.println(obj); } } }输出结果当你往ArrayList集合中添加数据时调用add()方法会显示添加的数据是Object类型也就是什么类型都可以添加比如int类型、String类型甚至是自己定义的Student类型使用iterator()迭代器遍历集合中的元素用next()方法拿到的元素也是Object类型的我们可以将其打印输出没有问题。但是多态的弊端是不能访问子类特有的功能比如我想打印输出第二个元素aaa的长度这是一个String类型的数据直接使用obj.length()来输出长度但其实这样写是会报错的编译就不通过那如果强制转换呢你会发现编译通过了语法没有问题但是运行会报错。报了一个类型转换异常为什么会报这个异常呢如果你是int类型转成String类型那没问题但是遍历的是数组中的整个元素自定义的Student类型怎么转成String类型呢所以会报一个类型转换异常。通过以上现象我们发现当往集合中添加任意类型元素时不能访问子类特有的功能如果使用强制类型转换则可能会出现类型转换异常所以使用泛型来解决这个问题。import java.util.ArrayList; import java.util.Iterator; public class Test { public static void main(String[] args) { //1.创建集合的对象 ArrayListString list new ArrayList(); //2.添加数据 // list.add(123); list.add(aaa); list.add(bbb); list.add(ccc); // list.add(new Student(zhangsan, 21)); //3.遍历集合获取里面的每一个元素 IteratorString it list.iterator(); while (it.hasNext()) { String str it.next(); System.out.println(str); } } }使用泛型String来规定ArrayList数组中的数据类型只能是String类型这样就保证了数组中数据类型的统一把运行时期的问题提前到了编译时期避免了强制类型转换可能出现的异常。泛型的分类前面提到在定义类、接口、方法时同时声明了一个或多个类型变量如E称为泛型类、泛型接口、泛型方法泛型也就分为这三类每类都各自有各自的格式。泛型类格式修饰符 class 类名类型变量类型变量... {}public class ArrayListE{ ... }类型变量建议用大写的英文字母常用的有E、T、K、V等自定义泛型类自定义泛型类——声明单个public class MyArrayListE { private Object[] arr new Object[10]; private int size;//记录当前位置的 public boolean add(E e){ arr[size] e; return true; } public E get(int index){ return (E) arr[index]; } }自定义泛型类——声明多个public class MyClass1E, T { public void put(E e, T t){ } }自定义泛型类——必须要继承某个类public class MyClass2E extends Animal { }泛型接口格式修饰符 interface 接口名类型变量, 类型变量, ...{}public interface AE { ... }举例public interface DataT { void add(T t); ArrayListT getByName(String name); }泛型方法格式修饰符 类型变量, 类型变量, ... 返回值类型 方法名(形参列表) {}public static T void test(T t) { }注意这个下面这个不是泛型方法public E get(int index) { return (E) arr[index]; }补充知识拓展知识当你在java文件中使用了泛型来限制数据类型但当这个java文件编译成class文件后就没有你写的泛型了统一当成Object类型处理只是当你往外取数据时底层会帮你再次强转成你所定义的泛型。泛型的细节泛型是工作在编译阶段的一旦程序编译成class文件class文件中就不存在泛型了这叫做泛型擦除。泛型不支持基本数据类型只能支持对象类型引用数据类型。指定泛型的具体数据类型后传递数据时可以传入该类类型或者其子类类型如果不写泛型默认是Object类型通配符就是“?”可以在“使用泛型”的时候代表一切类型E T K V是在定义泛型的时候使用。泛型的上下限泛型上限? extends A?能接收的必须是A或者是A的子类泛型下线? super A?能接收的必须是A或者是A的父类
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站开发常见技术问题2021年手机能看的网站

第一章:Open-AutoGLM本地商户信息维护概述Open-AutoGLM 是一个基于大语言模型的自动化工具框架,专为本地生活服务场景设计,支持商户信息的智能采集、更新与管理。该系统通过融合自然语言理解与结构化数据处理能力,实现对商户名称、…

张小明 2025/12/28 6:19:27 网站建设

协会网站建设模板昆明优化网站公司

全套资料包含:Proteus仿真源文件keil C语言源程序AD原理图流程图元器件清单说明书等 资料下载:↓↓↓ 通过网盘分享的文件:资料分享 链接: 百度网盘 请输入提取码 提取码: tgnu 目录 资料下载: Proteus仿真功能 项目文件资料…

张小明 2025/12/28 6:19:25 网站建设

广安网站建设兼职如何建立一个网站论坛

3900万参数重塑语音交互:Whisper-Tiny.en引领2025轻量化AI革命 【免费下载链接】whisper-tiny.en 项目地址: https://ai.gitcode.com/hf_mirrors/openai/whisper-tiny.en 导语 OpenAI推出的Whisper-Tiny.en模型以3900万参数实现8.4%的单词错误率&#xff0…

张小明 2025/12/28 6:19:23 网站建设

联合易网北京网站建设公司怎么样备案不关闭网站吗

安装uv时被网络卡住,下载依赖慢如蜗牛?据统计,国内开发者因网络问题浪费在环境配置上的时间,平均每月超过5小时!本文将深入解决使用uv工具时最常见、最棘手的几大难题:包括uv工具与uv Python解释器的区别、…

张小明 2025/12/28 6:19:21 网站建设

wordpress添加投稿常州seo

鹰速光电公司的Cameralink图像采集卡软件,转usb的采集卡, Espeedgrab软件使用方法【7、相机时序检测分析】。 一千多元的工业级图像采集卡,可以替代万元的 pleora的iport cl-u3的,而且很多场合可替代dalsa采集卡。 EspeedGrab软件…

张小明 2025/12/29 4:41:06 网站建设

宁波品牌网站建设公司公司年前做网站好处

功能特点 Vcc3.3V导通电阻典型值为6.0Q低位-位的抖动时间<50ps 低串扰:-45 dB 250 MHz 低电流消耗:1.0μA 接近于0的传输延迟: 250 ps通道导通时的电容: 4.0pF(Typical)工作电压范围:1.65V至4.5V >750 MHz带宽 封装:QFN10L-1.8*1.4(ET7222Y)、MSOP10(ET7222U)

张小明 2025/12/28 7:39:45 网站建设