【泛型中K T V E? Object等分别代表什么含 义】

news2025/2/1 6:55:13

在这里插入图片描述

✅ 泛型中K T V E? Object等分别代表什么含义

  • ✅ 典型解析
  • ✅代码示例

✅ 典型解析


E - Element (在集合中使用,因为集合中存放的是元素)


T-Type (Java 类)


K- Key (键)


V - Value (值)


N - Number (数值类型)


? - 表示不确定的iava类型 (无限制通配符类型)


S、U、V- 2nd、3rd、4th types


Obiect - 是所有类的根类,任何类的对象都可以设置给该Obiect用变量,使用的时候可能需要类型强制转换但是用使用了泛型T、E等这些标识符后,在实际用之前类型就已经确定了,不需要再进行类型强制转换。


✅代码示例


//示例1: 使用T作为泛型类型参数,表示任何类型

public class MyGenericClass<T> {
	private T myField;

	public MyGenericClass(T myField) {
		this.myField = myField;
	}
	
	public T getMyField() {
		return myField;
	}
}



// 示例2: 使用K、V作为泛型类型参数,表示键值对中的键和值的类型

public class MyMap<k, V> {
	private List<Entry<KV>> entries;
	
	public MyMap() {
		entries = new ArrayList<>();
	}

	public void put(K key, V value) {
		Entry<KV> entry = new Entry<>(key, value);
		entries.add(entry);
	}


	public V get(K key) {
		for (Entry<K,V> entry : entries) {
			if (entry.getKey().equals(key)) {
				return entry.getValue();
			}
		}
		return null;
	}

	private class Entry<KV> {
		private K key;
		private V value;

		public Entry(K key, V value) {
			this .key = key;
			this.value = value;
		}
		public K getKey() {
			return key;
		}
		public V getValue() {
			return value;
		}
	}
}


//示例3: 使用E作为泛型类型参数,表示集合中的元素类型
public class MyList<E> {
	private List<E> elements;

	public MyList() {
		elements = new ArrayList<>();
	}
	public void add(E element) {
		elements .add(element ) ;
	}
	public E get(int index) {
		return elements.get(index);
	}
}



// 示例4: 使用Object作为泛型类型参数,表示可以接受任何类型

public class MyGenericClass {
	private Object myField;

	public MyGenericClass(Object myField) {
		this.myField = myField;
	}

	public Object getMyField() {
		return myField;
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1329414.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习:手撕 AlphaGo(一)

图 1-1: AphaGo 结构概览 1. 前言 AlphaGo 是一个非常经典的模型&#xff0c;不论从影响力还是模型设计上。它的技术迭代演进路径&#xff1a;AlphaGo&#xff0c;AlphaGoZero&#xff0c;AlphaZero&#xff0c;MuZero 更是十分精彩。相信有很多同学因为听了 AlphaGo 的故事对…

中国化妆品头部企业环亚集团携美肤宝、法兰琳卡、滋源、肌肤未来等“新朋友”加入实在智能数智生态圈

广州环亚化妆品科技股份有限公司&#xff08;以下简称“环亚集团”&#xff09;是一家综合性美容化妆品高新技术企业&#xff0c;旗下拥有美肤宝、法兰琳卡、滋源、肌肤未来等多个品牌&#xff0c;产品涵盖洁肤护肤、洗护发、身体护理、精油等多个领域。在中国、澳大利亚、美国…

upset 绘制

好久没有更新,今天来一个upset图的绘制 1.1 安装包 #绘制upset的包现在看来有三个 ## UpSet ### 最基本的upsetR包,使用方便,但是扩展不方便 devtools::install_github("hms-dbmi/UpSetR") ## complex-upset ### UpSet的升级款 支持ggplot2 devtools::install_git…

Multi-value PBS

参考文献&#xff1a; [CIM19] Carpov S, Izabachne M, Mollimard V. New techniques for multi-value input homomorphic evaluation and applications[C]//Topics in Cryptology–CT-RSA 2019: The Cryptographers’ Track at the RSA Conference 2019, San Francisco, CA, …

【C#】TimeSpan

文章目录 概述属性时间计算拓展来源 概述 TimeSpan结构&#xff1a;表示一个时间间隔。 它含有以下四个构造函数&#xff1a; TimeSpan(Int64)将 TimeSpan结构的新实例初始化为指定的刻度数。&#xff08;DateTime.Tick:是计算机的一个计时周期&#xff0c;单位是一百纳秒&…

饥荒Mod 开发(十七):手动保存和加载,无限重生

饥荒Mod 开发(十六)&#xff1a;五格装备栏 饥荒Mod 开发(十八)&#xff1a;Mod 添加配置选项 饥荒游戏会自动保存&#xff0c;本来是一个好的机制&#xff0c;但是当角色死亡的时候存档会被删除&#xff0c;又要从头开始&#xff0c;有可能一不小心玩了很久的档就直接给整没了…

计算机网络——物理层概述(二)

前言&#xff1a; 前面已经对计算机网络的概述有了一个简单的认识与了解了&#xff0c;什么是计算机网络&#xff0c;为什么学习计算机网络&#xff0c;计算机网络的概念与体系结构我们已经有了一个初步的认识与了解&#xff0c;现在我们要对计算机网络中的物理层进行一个学习与…

基于YOLOv8深度学习的智能玉米害虫检测识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

C语言的scanf输入函数的介绍分享

各位少年&#xff1a; 我来分享一个输入函数&#xff0c;scanf函数 是输入的函数&#xff0c;scanf&#xff08;“参数1”&#xff0c;参数2);好&#xff0c;我们接着看代码的例子 int main() { int score0; printf("请输入成绩:"); scanf("%d",&sco…

关于YOLOv5的训练,GPU单卡、多卡设置,加速训练

yolov5毫无疑问是目前目标检测框架中非常准确快速的检测框架之一&#xff0c;在工业界和学术界应用广泛&#xff0c;其优势不言而喻。 在模型训练或推理时&#xff0c;我们都想快速完成&#xff0c;特别是数据量很大的时候&#xff0c;效率就是非常迫切需要提升的。这里简单介…

【MAC、IOS】charles抓包配置教程,亲测有效

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

Python并行编程详解:发挥多核优势的艺术

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在当今计算机时代&#xff0c;充分发挥多核处理器的性能是提高程序运行效率的关键。Python作为一门强大的编程语言&#xff0c;提供了多种并行编程工具和库。本文将深入介绍Python中的并行编程&#xff0c;探讨如…

再也不怕合照缺人,Anydoor为图片编辑开了一道「任意门」

原文&#xff1a;再也不怕合照缺人&#xff0c;Anydoor为图片编辑开了一道「任意门」 「能不能把这张图里的产品&#xff0c;都放到另一张图的桌子上&#xff1f;」 面对这样的要求&#xff0c;设计师肯定会脑瓜嗡嗡的。 把指定物品放进另一张图片不像贴张贴纸一样简单&#x…

java 项目日记实现两种方式:拦截器方式实现日记与定义日记注解方式实现日记

通常只要是java web项目基本都离不开项目日记&#xff0c;项目日记存在的意义很多&#xff0c;例如&#xff1a;安全审计&#xff0c;问题追踪都离不开项目日记。下面我们说一下项目日记实现最常用的两种方式 。 一 拉截器实现项目日记 1 实现一个拦截器基类&#xff0c;用于事…

c++打开网页

1.使用ShellExecute 效果图&#xff1a; 相关代码: void Open_url::on_pushButton_clicked() {QString path1 "explorer.exe";QString urlui->lineEdit->text();ShellExecute(NULL, L"open", path1.toStdWString().c_str(), url.toStdWString().c…

Ubuntu环境下使用Livox mid 360

参考文章&#xff1a; Ubuntu 20.04使用Livox mid 360 测试 FAST_LIO-CSDN博客 一&#xff1a;Livox mid 360驱动安装与测试 前言&#xff1a; Livox mid360需要使用Livox-SDK2&#xff0c;而非Livox-SDK&#xff0c;以及对应的livox_ros_driver2 。并需要修改FAST_LIO中部…

【科学计算语言】实验三 Python复杂数据类型

【目的和要求】 &#xff08;1&#xff09;掌握Python语言中的组合数据类型 &#xff08;2&#xff09;掌握列表、元组、字典、集合及字符串的基本应用 &#xff08;3&#xff09;熟练运用有关序列操作的Python内置函数 【实验准备】 【实验内容】 1. 实验练习&#xff1a;掌握…

SpringIOC之MethodBasedEvaluationContext

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

三个月真的可以学会自动化测试吗?不是骗局把?

三个月可以学会&#xff0c;但是想要达到精通还需更多的时间。 目前行业内对于自动化测试的还是存在很多误区的&#xff0c;管理层为了自动化而去自动化&#xff0c;学习者学到最后只会用一些工具。 关于学习路线&#xff0c;我放在后面讲&#xff0c;在此之前必须先聊一下行…

【Python小知识 - 6】:QLabel设置图片

文章目录 QLabel设置图片 QLabel设置图片 from PyQt5.QtWidgets import * from PyQt5.QtGui import * import sysapp QApplication(sys.argv)window QWidget()hbox QHBoxLayout(window)# 设置标签图片 lable QLabel() lable.setPixmap(QPixmap(./img/window.png).scaled(1…