Java之泛型T T与T的用法

<T> T表示返回值是一个泛型,传递啥,就返回啥类型的数据,而单独的T就是表示限制你传递的参数类型,这个案例中,通过一个泛型的返回方式,获取每一个集合中的第一个数据, 通过返回值<T> TT的两种方法实现

<T> T 用法

这个<T> T 表示的是返回值T是泛型,T是一个占位符,用来告诉编译器,这个东西先给我留着,等我编译的时候,告诉你。

package com.yellowcong.test;import java.util.ArrayList;
import java.util.List;import org.apache.poi.ss.formula.functions.T;public class Demo {public static void main(String[] args) {Demo demo = new Demo();//获取string类型List<String> array = new ArrayList<String>();array.add("test");array.add("doub");String str = demo.getListFisrt(array);System.out.println(str);//获取nums类型List<Integer> nums = new ArrayList<Integer>();nums.add(12);nums.add(13);Integer num = demo.getListFisrt(nums);System.out.println(num);}/*** 这个<T> T 可以传入任何类型的List* 参数T*     第一个 表示是泛型*     第二个 表示返回的是T类型的数据*     第三个 限制参数类型为T* @param data* @return*/private <T> T getListFisrt(List<T> data) {if (data == null || data.size() == 0) {return null;}return data.get(0);}}

T 用法

返回值,直接写T表示限制参数的类型,这种方法一般多用于共同操作一个类对象,然后获取里面的集合信息啥的。

package com.yellowcong.test;import java.util.ArrayList;
import java.util.List;public class Demo2<T> {public static void main(String[] args) {//限制T 为String 类型Demo2<String> demo = new Demo2<String>();//获取string类型List<String> array = new ArrayList<String>();array.add("test");array.add("doub");String str = demo.getListFisrt(array);System.out.println(str);//获取Integer类型 T 为Integer类型Demo2<Integer> demo2 = new Demo2<Integer>();List<Integer> nums = new ArrayList<Integer>();nums.add(12);nums.add(13);Integer num = demo2.getListFisrt(nums);System.out.println(num);}/*** 这个只能传递T类型的数据* 返回值 就是Demo<T> 实例化传递的对象类型* @param data* @return*/private T getListFisrt(List<T> data) {if (data == null || data.size() == 0) {return null;}return data.get(0);}
}

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

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

相关文章

UrlReWriter 使用经验小结

UrlRewriter 是微软封装好了的一个URL重写组件。使用它可以让我节约很多自已开发的时间。 好了&#xff0c;开始讲述我的应用经验&#xff0c;这只是很菜鸟的经验&#xff0c;高手就不用看了。 第一步&#xff0c;请从此下载此组件。解压&#xff0c;把UrlRewriter.dll copy到你…

clickhouse大数据分析技术与实战_从销售到经营——大客户销售策略与实战技术...

对于首席客户代表而言&#xff0c;要走出困局&#xff0c;所需要大客户销售策略性的训练&#xff0c;而不是像基层客户经理的销售技巧训练一样&#xff1b;新业务的学习固然重要&#xff0c;但更重要的是转化成实战绩效。从组织变革角度&#xff0c;每次成功的业务转型背后都意…

Hadoop_NameNode_代码分析_目录树(2)

&#xff08;1&#xff09;NameNode的内存中保存了庞大的目录树结构&#xff0c;这个结构用来保存文件目录结构和文件Block之间的映射&#xff0c;这种结构关系会固化在磁盘上&#xff0c;但是对树的改动频繁发生&#xff0c;什么时候将树写入磁盘呢&#xff1f;把每次操作应用…

详解 Visual C# 数据库编程

详解 Visual C# 数据库编程 ******2007-11-05 14:34关于数据库编程&#xff0c;微软提供了一个统一的数据对象访问模型&#xff0c;在Visual Studio6.0中称为ADO&#xff0c;在.NET中则统一为ADO.NET,掌握ADO.NET就等于掌握了数据库编程的核心。 针对数据库编程始终是程序设计语…

swift - 根试图控制器的手势返回冲突 - push 新的tabbar控制器手势冲突

1. 禁用手势 和开启手势extension JYRTSShopListController: UIGestureRecognizerDelegate {/// 禁止使用手势返回func forbidhenSideBack() {self.isCanSideBack falseif (self.navigationController?.responds(to:#selector(getter: self.navigationController?.interacti…

Acer 4750 安装黑苹果_黑苹果系统安装通用教程图文版

在开始之前&#xff0c;不管你要安装的是台式组装机&#xff0c;台式品牌机&#xff0c;一体机&#xff0c;还是笔记本&#xff0c;都要大概了解一下硬件信息。因为黑苹果的安装确实比安装Windows的系统要复杂的多。不管是前期准备工作&#xff0c;安装&#xff0c;还是安装之后…

IIS7中使用集成模式时出现HttpException

症状:在iis7在使用集成模式的Pool可能出现HttpException,而程序在经典模式下能正常运行. 解决方法:http://mvolo.com/blogs/serverside/archive/2007/11/10/Integrated-mode-Request-is-not-available-in-this-context-in-Application_5F00_Start.aspx 转载于:https://www.cnbl…

教你学会七种维护服务器安全最佳技巧

导读&#xff1a; 你的计算机上是否存在有至关重要的数据,并且不希望它们落入恶人之手呢?当然,它们完全有这种可能 。而且,近些年来,服务器遭受的风险也比以前更大了.越来越多的病毒,心怀不轨的黑客,以及那些商业间谍都将服务器作为了自己的目标.很显然,服务器的安全问题是不容…

mysql 快速生成百万条测试数据

转自&#xff1a;http://www.cnblogs.com/jiangxiaobo/p/6101072.html 1、生成思路 利用mysql内存表插入速度快的特点&#xff0c;先利用函数和存储过程在内存表中生成数据&#xff0c;然后再从内存表插入普通表中2、创建内存表及普通表 CREATE TABLE vote_record_memory (id I…

自动化专业学python有用吗-马哥教育官网-专业Linux培训班,Python培训机构

今天小编要来说一下Python自动化的学习思路&#xff0c; 对于刚刚进入的测试行业的人来说&#xff0c;未来该怎么样朝着自动化方向发展&#xff0c;即使接触到了自动化测试&#xff0c;又该从何下手去学呢&#xff1f; 简单的说&#xff0c; 做测试做的好&#xff0c;会了接口&…

java JVM

每一个Java虚拟机都由一个类加载器子系统&#xff08;class loader subsystem&#xff09;&#xff0c;负责加载程序中的类型&#xff08;类和接口&#xff09;&#xff0c;并赋予唯一的名字。每一个Java虚拟机都有一个执行引擎&#xff08;execution engine&#xff09;负责执…

马化腾联手10余位科学家发起科学探索奖,腾讯基金投入10亿元启动资金

11月9日消息&#xff0c;据腾讯科技报道&#xff0c;腾讯基金会于腾讯公司成立20周年之际宣布&#xff0c;腾讯公司董事会主席兼首席执行官&#xff0c;腾讯基金会发起人马化腾&#xff0c;与北京大学教授饶毅&#xff0c;携手杨振宁、毛淑德、何华武、邬贺铨、李培根、陈十一、…

给Domino系统管理员的十二项建议

Domino系统管理员的日常工作就是维护Domino系统的正常运行。以下简要说明了管理员所必做的一些工作。对于系统管理员&#xff0c;特别是新建系统的管理员来说&#xff0c;这些建议能帮助他们完成基本的维护工作。 根据许多资深的Domino管理员和咨询人员的经验&#xff0c;我们对…

delphi 软件在线人数统计_8款值得学习的科研论文作图软件

写在前面科研绘图在国外已经非常流行&#xff0c;且被高度重视&#xff0c;国内科研人员也越来越重视科研方面的绘图。不少科研工作者&#xff0c;包括在读的博士生、研究生等可能都有这样的体会&#xff1a;千辛万苦得来的实验结果&#xff0c;不知道该如何展现给别人?曾经有…

技术管理—管理书籍推荐

技术出身&#xff0c;考虑接触下管理方面的知识。也许管理真的适合你&#xff0c;角色认知角色实践角色胜任&#xff01;最后爱上它&#xff01; 我最喜欢的一本书--高效能人士的七个习惯 作者&#xff1a;史蒂芬柯维&#xff08;Stephen Richards Covey&#xff09; 该…

JS 几种数据类型及其转换

ECMAScript 标准定义了 7 种数据类型: Number&#xff1b;String&#xff1b;Boolean&#xff1b;Symbol&#xff1b;Null&#xff1b;Undefined&#xff1b;Object 。通常&#xff0c;数值、字符串、布尔值、undefined和null这五种类型&#xff0c;合称为简单类型的值&#xf…

网络虚拟化有几种实现方式_停车场管理系统的防砸车功能有几种方式?如何实现?...

原标题&#xff1a;停车场管理系统的防砸车功能有几种方式&#xff1f;如何实现&#xff1f;前言0101正文一、压力波防砸装置也叫遇阻防砸&#xff0c;主要是安装遇阻返回装置&#xff0c;当道闸杆下落过程中接触到车辆或者行人(接触力度是可以调节的)&#xff0c;装置道闸杆底…

Socket 死连接详解

当使用 Socket 进行通信时&#xff0c;由于各种不同的因素&#xff0c;都有可能导致死连接停留在服务器端&#xff0c;假如服务端需要处理的连接较多&#xff0c;就有可能造成服务器资源严重浪费&#xff0c;对此&#xff0c;本文将阐述其原理以及解决方法。 在写 Socket 进行通…

[Swift]LeetCode1146. 快照数组 | Snapshot Array

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号&#xff1a;山青咏芝&#xff08;shanqingyongzhi&#xff09;➤博客园地址&#xff1a;山青咏芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;➤GitHub地址&a…

aspnet中gridview文本只显示开始几个文本_软网推荐:三个小软件 轻松解决文本操作难题...

TXT文本操作在Windows操作中算是比较容易的事了&#xff0c;但简单的文本操作也会遇到难题。例如&#xff0c;对于我们反复需要使用的多个信息&#xff0c;如果仅靠CtrlC和CtrlV来回复制、粘贴&#xff0c;效率会极低&#xff1b;再如&#xff0c;对于一些软件组件中显示的文本…