Java中的<T> T和 T有什么区别

Java中的<T> T和 T有什么区别是:<T> T表示返回值是一个泛型,传递什么,就返回什么类型的数据。而T表示只能传递一种参数类型,限制你传递的参数类型。Java中的泛型用法T代表这未知类型参数,先用T表示相当于占位符。

T 代表

只能传入 T 类型的数据,也就是说,方法实例化的数据类型,就是 T 的数据类型。( 根据上面的代码理解也就是,如果Generic02<Double>,那么就限制 T 为 Double 类型。)

<T> 代表

表示修饰符的含义,代表这是一个泛型方法。作用是:可以传入的参数为 T 这种类型变量

<T> T 代表

① 名列前茅个 <T> 表示泛型   ② 第二个 T 表示返回的是 T 类型的数据(比如:Integer、Double、String 等等)③ 第三个 T 来限制传入的数据类型(比如:限制为数组、集合 等等)

Java中的<T> T和 T有什么区别是:<T> T表示返回值是一个泛型,传递什么,就返回什么类型的数据。而T表示只能传递一种参数类型,限制你传递的参数类型。Java中的泛型用法T代表这未知类型参数,先用T表示相当于占位符。

T 在Java泛型中,被称作类型变量。那么什么又是类型变量?

类型变量在整个类的定义中用于指定方法的返回类型,同时也可以指定字段和局部变量的类型,我们可以用具体的类型来替换类型变量来实例化泛型类型。

如果我们经常看源码,就能看到很多类似于T这种类型变量,简单介绍一下这些类型变量分别代表什么含义。

Ⅰ、T、U、S:表示任意类型

Ⅱ、K:表示键类型

Ⅲ、V:表示值类型

Ⅳ、E:表示集合元素类型

Ⅴ、N:表示数字类型

了解完这些类型变量的含义后,我们回归正传, <T> T 、T、<T> 到底在用法上有什么区别?

样例代码:

public class GenericMethod {

    public static void main(String[] args) {

        Double[] num = {1.11, 2.22, 3.33, 4.44, 5.55, 6.66};

        String[] str = {“Hello”, “World”, “你好”, “世界”};

        Generic01 generic01 = new Generic01();

        generic01.toGeneric01(num);

        generic01.toGeneric01(str);

        Generic02<Double> doubleGeneric02 = new Generic02<>();

        doubleGeneric02.toGeneric02(num);

        Generic02<String> doubleGeneric03 = new Generic02<>();

        doubleGeneric03.toGeneric02(str);

    }

}

class Generic01 {

    public <T> T toGeneric01(T[] arr) {

        return arr[arr.length – 1];

    }

}

class Generic02<T> {

    public T toGeneric02(T[] arr) {

        return arr[arr.length – 1];

    }

}

class Generic03 {

    public <T> void toGeneric03(T[] arr) {

        T t = arr[arr.length – 1];

    }

}

上面的样例测试中,我分别编写了两个类 Generic01 和  Generic02。Generic01类 编写的方法的返回值样式为  <T> T,Generic02类 编写的方法返回值的样式为 T。在编写的时候发现,如果方法的返回值写成 T,那么这个类必须为泛型,简单来说就是 Generic02类 后面必须加上 <T>,否则会报错!

延伸阅读:

什么是JAVA?

Java programming language具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的”形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种”以对象为导向”的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

Java是Sun微系统公司在1995年推出的,推出之后马上给互联网的交互式应用带来了新面貌。最常用的两种互联网浏览器软件中都包括一个Java虚拟机。几乎所有的操作系统中都增添了Java编译程序。

使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

文章标题:Java中的<T> T和 T有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37351

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月7日 下午10:11
下一篇 2023年2月7日 下午10:14

相关推荐

  • 如何制作项目管理

    步骤:一、全部项目成员通过一个平台高效协作;二、项目经理通过甘特图把控项目全局;三、项目成员通过甘特图了解自己的任务;四、管理保存项目文档;五、通过项目看板一目了然。全程云PM项目管理系统配置了内部即时通信、内部邮件、内部流程等。 一、全部项目成员通过一个平台高效协作 全程云PM项目管理系统配置了内…

    2023年3月21日
    18300
  • *p+1和*(p+1)的区别

    p+1和(p+1)的区别主要表现在:1、优先级不同;2、操作对象不同;3、结果不同。在C/C++语言中,这两种写法在使用上会产生完全不同的结果。p+1先解引用p,再加1,所以结果是p指向的对象的值加1。而(p+1)是将p加1,然后解引用,所以结果是p指向的下一个对象的值。 一、优先级不同 p+1和(…

    2023年6月2日
    2.2K00
  • 研发项目类的管理

    研发项目管理 完成创新项目的技术进步与产品开发1、精确规划,2、团队协作,3、风险控制,4、合理预算,并对资源配置精确规划进行详细阐述。精确规划指在项目启动前,对项目目标、进度、资源、风险进行细致分析,确立项目范围,预估成本与时间,设计项目路线图,以及建立里程碑和关键绩效指标(KPI)。良好的规划能…

    2024年1月10日
    12300
  • oa软件哪家的好

    OA(办公自动化)软件选择的关键方面包括:1、功能性强大;2、用户友好性;3、安全稳定性;4、可定制性高;5、技术支持及服务出色。在众多市场竞争者中,微软的Office 365因其全面的解决方案和无缝的集成能力而脱颖而出,成为许多企业的首选。 在Office 365的生态系统中,提供了多样的应用,例…

    2024年1月11日
    16000
  • oa平台是啥

    OA平台指的是办公自动化(Office Automation)系统,它利用计算机及网络设备,为企业或组织提供高效率和便捷化的办公环境。1、改进沟通方式;2、提高工作效率;3、增强数据管理;4、支持远程办公。在2、提高工作效率方面,OA平台通过整合资源、简化流程以及自动化日常任务,显著提升工作效率,减…

    2024年1月16日
    13100
  • oa办公软件那个好

    开篇即入正题,OA(Office Automation)办公软件提高企业工作效率,选择合适的软件需综合考量使用便捷性、功能丰富性、成本效益和客户服务等方面。目前市面较为知名的OA软件包括微软Office 365、Google Workspace、钉钉、腾讯文档等。微软Office 365在功能强大、…

    2024年1月11日
    11600
  • 为什么企业和品牌越来越看重私域营销

    私域营销现代企业和品牌提供了一种有效的用户管理和营销策略,其生命力归功于它能够带来的几个关键优势:提高用户粘性、数据驱动的精准营销、成本效益的提升、品牌忠诚度和口碑的塑造。这些因素共同作用,促使企业和品牌越来越将重心转向私域空间。通过深化与用户的联系,企业可以获得更持久的用户数据并形成有效的用户维护…

    2023年11月20日
    16800
  • oa网络陶瓷地板厂家

    标题:OA网络陶瓷地板厂家的选择指北 陶瓷地板由于其耐磨、易清洁的特性,逐渐成为办公区域尤其是OA网络环境的首选地面材料。选择OA网络陶瓷地板厂家需考虑多种因素:1、产品质量与耐久性、2、设计与功能性、3、可持续性与环保性、4、安装与维护的便捷性、5、成本效益性。 在这众多因素中,产品质量与耐久性尤…

    2024年1月12日
    9800
  • 科技项目服务管理有哪些

    科技项目服务管理有:一、项目规划;二、项目实施;三、项目监控;四、项目评估。项目规划是科技项目服务管理的第一步。它是确定项目目标、范围、进度、质量、成本和风险的过程。在项目规划阶段,需要制定详细的项目计划,包括项目启动、需求分析等。 一、项目规划 项目规划是科技项目服务管理的第一步。它是确定项目目标…

    2023年4月30日
    20000
  • 如何使用甘特图来监控项目健康和绩效

    甘特图是一种强大的项目管理工具,用于监控项目的进展、健康和绩效。它能够直观展示项目时间线、工作分配和状态更新。1、提供进度跟踪,2、资源分配情况可视化,3、潜在风险及时识别,以及4、协调团队沟通。这些功能使项目经理能够确保项目按计划推进,并调整资源以优化绩效。在使用甘特图监控项目时重点关注进度跟踪,…

    2023年12月21日
    10100

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部