JAVA泛型-泛型方法的定义和使用

请直接看原文:

JAVA泛型-泛型方法的定义和使用-CSDN博客

-------------------------------------------------------------------------------------------------------------------------------- 

1.泛型方法的定义和语法

1.1 定义

泛型方法 是在调用方法的时候指明泛型的具体类型。
【泛型方法 能够使方法独立于类的处理指定的类型。】

1.2 语法

修饰符 <T,E,…> 返回值类型 方法名(形参列表){
。。。。。。
}

  • 修饰符与返回值类型中间的 泛型标识符 <T,E,…>,是 泛型方法的标志,只有这种格式声明的方法才是泛型方法。
  • 泛型方法声明时的 泛型标识符 <T,E,…> 表示在方法可以使用声明的泛型类型。
  • 与泛型类相同,泛型标识符可以是任意类型,常见的如T,E,K,V 等。
  • 泛型方法可以声明为 static 的,并且与普通的静态方法是一样的。

2.泛型方法的使用

2.1 普通泛型方法

声明

/*** author : northcastle* createTime:2021/10/23* 泛型方法的定义*/
public class GenericMethod {//1.普通的泛型方法public <T> String commonMethod(String name,T t){String res = "";res += name +"-"+ t;System.out.println("普通泛型方法 : "+res);return res;}
}

调用

/*** author : northcastle* createTime:2021/10/23*/
public class GenericMethodApplication {public static void main(String[] args) {//1.调用普通泛型方法GenericMethod genericMethod = new GenericMethod();String commonRes01 = genericMethod.commonMethod("001", "bb");System.out.println(commonRes01);String commonRes02 = genericMethod.commonMethod("002", 100);System.out.println(commonRes02);String commonRes03 = genericMethod.commonMethod("003", true);System.out.println(commonRes03);System.out.println("==================");}
}

运行结果

普通泛型方法 : 001-bb
001-bb
普通泛型方法 : 002-100
002-100
普通泛型方法 : 003-true
003-true
==================

2.2 静态泛型方法

声明

/*** author : northcastle* createTime:2021/10/23* 泛型方法的定义*/
public class GenericMethod {//2.静态的泛型方法public static <T,E> String staticMethod(String name,T t,E e){String res = "";res += name +"-"+ t +"-"+ e;System.out.println("静态泛型方法 : "+res);return res;}
}

调用

package com.northcastle.genericmethod;/*** author : northcastle* createTime:2021/10/23*/
public class GenericMethodApplication {public static void main(String[] args) {//2.调用静态泛型方法String staticRes01 = GenericMethod.staticMethod("001", "aa", "bb");System.out.println(staticRes01);String staticRes02 = GenericMethod.staticMethod("002", 100, 'c');System.out.println(staticRes02);String staticRes03 = GenericMethod.staticMethod("003", 12.05d, false);System.out.println(staticRes03);System.out.println("==================");}
}

运行结果

静态泛型方法 : 001-aa-bb
001-aa-bb
静态泛型方法 : 002-100-c
002-100-c
静态泛型方法 : 003-12.05-false
003-12.05-false
==================

2.3 泛型方法中的可变参数

声明

/*** author : northcastle* createTime:2021/10/23* 泛型方法的定义*/
public class GenericMethod {//3.带可变参数的泛型方法public <A> void argsMethod(A ... args){for (A arg : args) {System.out.println(arg);}}
}

调用

package com.northcastle.genericmethod;/*** author : northcastle* createTime:2021/10/23*/
public class GenericMethodApplication {public static void main(String[] args) {//3.调用可变参数的方法genericMethod.argsMethod(1,2,300,400,500,600);System.out.println("==================");}
}

运行结果

1
2
300
400
500
600
==================

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

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

相关文章

YOLOv9(3):YOLOv9损失(Loss)计算

1. 写在前面 YOLOv9的Loss计算与YOLOv8如出一辙&#xff0c;仅存在略微的差异。多说一句&#xff0c;数据的预处理和导入方式都是一样的。因此如果你已经对YOLOv8了解的比较透彻&#xff0c;那么对于YOLOv9你也只是需要多关注网络结构就可以。 YOLOv9本身也是Anchor-Free的&a…

编译esp32s3的ncnn,并运行mnist 手写数字识别

东哥科技&#xff0c;专注科技研发&#xff0c;wx交流&#xff1a;dg_i688 我的项目代码 https://github.com/cdmstrong/ncnn_on_esp32s3 下载ncnn git clone https://github.com/Tencent/ncnn.git安装idf 环境 这里直接按官网的可执行文件来就好了&#xff0c;直接安装完…

[mysql必备面试题]-mysql索引(B+ Tree )

一 B Tree 原理 1. 数据结构 B Tree 指的是 Balance Tree&#xff0c;也就是平衡树。平衡树是一颗查找树&#xff0c;并且所有叶子节点位于同一层。 B Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现&#xff0c;它具有 B Tree 的平衡性&#xff0c;并且通过顺序访问指针…

【python中处理日期和时间二】扩展内容datetime模块-pytz模块-dateutil模块

扩展内容&#xff1a;日期和时间 datetime模块&#xff1b;pytz模块&#xff1b;dateutil模块 一、 datetime模块 查看datetime模块函数&#xff1a; >>> import datetime >>> dir(datetime) [MAXYEAR, MINYEAR, UTC, __all__, __builtins__, __cached__…

2024最新国内外低代码平台大全

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

PTA L1-079 天梯赛的善良(C++)

天梯赛是个善良的比赛。善良的命题组希望将题目难度控制在一个范围内&#xff0c;使得每个参赛的学生都有能做出来的题目&#xff0c;并且最厉害的学生也要非常努力才有可能得到高分。 于是命题组首先将编程能力划分成了 106 个等级&#xff08;太疯狂了&#xff0c;这是假的&…

在C#中使用NModbus4通信库执行读操作

Modbus是一种工业领域内广泛使用的通信协议&#xff0c;它是一种基于主从结构的串行通信协议。NModbus4是一个开源的Modbus通信库&#xff0c;用于.NET平台&#xff0c;可以方便地在C#中执行Modbus操作。本文将介绍如何使用NModbus4通信库在C#中执行读操作&#xff0c;包括安装…

Linux下非阻塞IO实验一

一. 简介 前面文章学习了 Linux内核提供的针对应用程序阻塞与非阻塞访问设备的处理方法。文章地址如下&#xff1a; Linux内核中处理非阻塞访问的方法&#xff1a;轮询-CSDN博客 Linux内核中轮询对应于应用层的函数之一&#xff1a;poll函数-CSDN博客 Linux内核中轮询对应…

Python常用新特性记录

Python常用新特性记录 Python3.8PEP 572 &#xff1a;赋值表达式f-字符串支持 用于自动记录表达式和调试文档 Python3.9PEP 584&#xff1a;字典合并与更新运算符PEP 616&#xff1a;新增用于移除前缀和后缀的字符串方法PEP 585&#xff1a;标准多项集中的类型标注泛型 Python…

python面向对象的三大特性:封装,继承,多态

1、面向对象有哪些特性 三种&#xff1a;封装性、继承性、多态性 2、Python中的封装 在Python代码中&#xff0c;封装有两层含义&#xff1a; ① 把现实世界中的主体中的属性和方法书写到类的里面的操作即为封装 ② 封装可以为属性和方法添加为私有权限&#xff0c;不能直…

Midjourney新功能:角色参照指南

基本概念 角色参照&#xff08;Character Reference&#xff09;&#xff1a;这个功能允许用户在不同的图像生成中保持给定参照角色的一致性。适用模型&#xff1a;适用于Midjourney V6和Niji6型号。 功能亮点 跨风格一致性&#xff1a;可以在不同风格&#xff08;如动漫风、…

数据泄露态势(2024年2月)

监控说明&#xff1a;以下数据由零零信安0.zone安全开源情报系统提供&#xff0c;该系统监控范围包括约10万个明网、深网、暗网、匿名社交社群威胁源。在进行抽样事件分析时&#xff0c;涉及到我国的数据不会选取任何政府、安全与公共事务的事件进行分析。如遇到影响较大的伪造…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的安全帽检测系统(深度学习模型+UI界面代码+训练数据集)

摘要&#xff1a;开发先进的安全帽识别系统对提升工作场所的安全性至关重要。本文详细介绍了使用深度学习技术创建此类系统的方法&#xff0c;并分享了完整的实现代码。系统采用了强大的YOLOv8算法&#xff0c;并对其与YOLOv7、YOLOv6、YOLOv5的性能进行了详细比较&#xff0c;…

Windows主机多网卡访问内外网

1&#xff1a;在实际生产环境有可能需要某台机器既能访问公司的内部网络也要能够访问外网。 2&#xff1a;首先机器要有两块网卡根据实际情况分别设置内外网的IP地址&#xff0c;掩码&#xff0c;网关&#xff0c;DNS等信息。设置完成时会出现下面的提示。 3&#xff1a;打开命…

空间计算综合指南

空间计算&#xff08;spatial computing&#xff09;是指使人类能够在三维空间中与计算机交互的一组技术。 该保护伞下的技术包括增强现实&#xff08;AR&#xff09;和虚拟现实&#xff08;VR&#xff09;。 这本综合指南将介绍有关空间计算所需了解的一切。 你将了解 AR、VR…

.NET后端返回File文件,及前端处理直接在浏览器下载

后端代码 [AllowAnonymous] public System.Web.Mvc.ActionResult ExportByteExcel(string datatab, string columnnames, string schemecode) { 返回excel。 string ReportName "ExcelTemplete" DateTime.Now.Ticks.ToString(); …

漏洞复现-红帆OA系列

漏洞复现-红帆OA GetWorkUnit.asmx存在SQL注入iOffice ioDesktopData存在SQL注入list接口存在SQL注入漏洞ioffice wssrtfile sql注入任意⽤户登录(2个)后台多处⽂件上传(7个)后台密码修改(1个)⽂件读取(2个)SQL注⼊(15个)红帆OA任意文件上传漏洞红帆HF Office系统SQL…

QComboBox相关的qss学习

QT有关QCobobox控件的样式设置&#xff08;圆角、下拉框&#xff0c;向上展开、可编辑、内部布局等&#xff09;_qcombobox样式-CSDN博客 原始图&#xff1a; 红色边框&#xff1a; QComboBox{ border:2px solid rgb(255, 85, 0); } 绿色背景&#xff1a; QComboBox{ border…

备战蓝桥杯Day27 - 省赛真题-2023

题目描述 大佬代码 import os import sysdef find(n):k 0for num in range(12345678,98765433):str1 ["2","0","2","3"]for x in str(num) :if x in str1:if str1[0] x:str1.pop(0)if len(str1) ! 0:k1print(k)print(85959030) 详…

火山翻译相关介绍

官网&#xff1a;火山翻译 - 在线翻译 (volcengine.com) 火山翻译当前支持文本翻译、语音翻译、图像翻译、视频翻译和直播翻译 火山引擎机器翻译文本翻译的API接口的QPS限制为10&#xff0c;图片翻译的API接口的限制为10 语言支持 语言支持--机器翻译-火山引擎 (volcengine…