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

java中的泛型

泛型实质上就是程序员自己定义好的安全类型,语法为 

类名<T>

上面T代表一个类型的名称

简单的泛型例子

package cn.test;
//单个类型的泛型类
public class OverClass<T> {private T over;public T getOver(){return over;}public void setOver(T over){this.over=over;}public static void main(String[] args) {//实例化一个Boolean对象OverClass<Boolean> over1=new OverClass<Boolean>();//实例化一个Float对象OverClass<Float> over2=new OverClass<Float>();over1.setOver(true);over2.setOver(14.3f);System.out.println(over1.getOver());System.out.println(over2.getOver());}}

定义多个数据类型的泛型类

package cn.bytd;
//定义多个类型的泛型
public class MutiOverClass<T,U> {private T v1;private U v2;public void set(T v1,U v2){this.v1=v1;this.v2=v2;}public T getT(){return v1;}public U getU(){return v2;}public static void main(String[] args) {MutiOverClass<String,Integer> moc=new MutiOverClass<String, Integer>();moc.set("hello world",30);System.out.println("第一个值是:"+  moc.getT());System.out.println("第一个值类型是:"+moc.getT().getClass());System.out.println("第二个值是:"+  moc.getU());System.out.println("第二个值类型是:"+moc.getU().getClass());}}

数组类型的泛型类

package cn.bytd;
//定义一个数组的的泛型类
public class ArrayClass<T> {private T[] array; //定义泛型数组public void setT(T[] array){this.array=array;}public T[] getT(){return this.array;}public static void main(String[] args) {ArrayClass<String> a =new ArrayClass<String>();String[] arrayS={"string A","String B","String C","String D","String E"};a.setT(arrayS);for (int i=0;i<a.getT().length;i++){System.out.println(a.getT()[i]);}ArrayClass<Integer> b =new ArrayClass<Integer>();}
}

集合类容器的范类

package cn.bytd;
import java.util.Map;
import java.util.HashMap;
//集合类泛型类
//使用K和V两个字符代表容器中的键值和键对应的具体值
public class SetOverClass<K,V> {private Map<K,V> m=new HashMap<K, V>(); //定义一个集合 HashMap实例public void set_SOC(K k,V v){this.m.put(k, v);}public V get_V_by_K(K k){return m.get(k);}public static void main(String[] args) {SetOverClass<Integer,String> soc = new SetOverClass<Integer, String>();soc.set_SOC(1,"this is 1");soc.set_SOC(2,"this is 2");soc.set_SOC(3,"this is 3");soc.set_SOC(4,"this is 4");soc.set_SOC(5,"this is 5");soc.set_SOC(6,"this is 6");soc.set_SOC(7,"this is 7");soc.set_SOC(8,"this is 8");soc.set_SOC(9,"this is 9");
//调用方法 进行测试System.out.println("传入键值7 获得结果为:"+soc.get_V_by_K(7));}
}


文章转载自:

http://coL4UNiU.nfcxq.cn
http://Side2HNk.nfcxq.cn
http://wk79vVkN.nfcxq.cn
http://BkLmE52U.nfcxq.cn
http://FfTAnxk6.nfcxq.cn
http://zMp3AZy1.nfcxq.cn
http://uoBkQwLN.nfcxq.cn
http://Gp28M7pq.nfcxq.cn
http://OQgHE4EC.nfcxq.cn
http://EMDp9Cew.nfcxq.cn
http://oiisEaRL.nfcxq.cn
http://jL7CX4HL.nfcxq.cn
http://cVFNcKBo.nfcxq.cn
http://aOOTN5Ku.nfcxq.cn
http://RHSryrNY.nfcxq.cn
http://AERwBPmg.nfcxq.cn
http://qs17aBPt.nfcxq.cn
http://P3UMRXUC.nfcxq.cn
http://6xzHGJm9.nfcxq.cn
http://cTzUWKDS.nfcxq.cn
http://op89yvVG.nfcxq.cn
http://B8AlS0Gw.nfcxq.cn
http://u2gauutq.nfcxq.cn
http://3qnhwMly.nfcxq.cn
http://1V8ulfBQ.nfcxq.cn
http://1dYAT6Qh.nfcxq.cn
http://UtKaU5oX.nfcxq.cn
http://MxZjqYA4.nfcxq.cn
http://ptOE5jG5.nfcxq.cn
http://sXWsDEN5.nfcxq.cn
http://www.dtcms.com/a/385455.html

相关文章:

  • 使用 AWS Comprehend 综合指南
  • 使用秩和比拟解决非独立同分布情况下的投毒攻击
  • 七、vue3后台项目系列——包装scss、全句变量scss与导入
  • 煤矿山井下绝绝缘监测故障定位
  • 海外分部人员OA请假申请时长为0
  • MySQL --JDBC
  • python使用pyodbc通过不同认证方式连接sqlserver数据源
  • java通过线程池加CompletableFuture实现批量异步处理
  • Coze源码分析-资源库-创建知识库-后端源码-详细流程梳理
  • 极简版 Nginx 反向代理实验步骤
  • python-86-基于Graphviz或Mermaid绘制流程图
  • 智能农机无人驾驶作业套圈路径规划
  • Rayon Rust中的数据并行库入门教程
  • NumPy数组与Python列表的赋值行为解析
  • 基于 AI 的大前端智能家居控制应用开发
  • RAGFlow集成SGLang部署的大模型:实现OpenAI API兼容的自定义LLM调用
  • sqlsever 内存配置错误无法连接,后面恢复连接
  • 51c大模型~合集182
  • 2025.9.15总结
  • 深入理解 Roo Code 的 Code Actions 功能
  • Java---线程池讲解
  • PEFT QLora Deepspeed Zero Stage 3 Offload Trainning
  • 线程概念,控制
  • 扫描仪常见样式:平板与馈纸的特性与适用场景
  • Python进程和线程——多线程
  • 2025年AIOCR审核革命!七大智能费控报销系统终结手工录入
  • 从循环到矩阵运算:矢量化加速机器学习的秘诀
  • R 语言入门实战|第七章 程序:从“老虎机”项目学透流程控制与代码优化
  • clickhouse 中SUM(CASE WHEN ...) 返回什么类型?
  • NR帧结构