Java泛型方法

类上定义的泛型,在方法中也可以使用。但是,我们经常需要仅仅在某一个方法上使用泛型,这时候可以使用泛型方法。

调用泛型方法时,不需要像泛型类那样告诉编译器是什么类型,编译器可以自动推断出类型。

泛型方法的使用
非静态方法

非静态方法可以使用泛型类中所定义的泛型,也可以将泛型定义在方法上。

语法结构:

//无返回值方法
public <泛型标识符号> void getName(泛型标识符号 name) {
}//有返回值方法
public <泛型标识符号> 泛型标识符号 getName(泛型标识符号 name){
}

示例:

public class MethodGeneric {public <T> void setName(T name){System.out.println(name);}public <T> T getAge(T age){return age;}
}
public class Test2 {public static void main(String[] args){MethodGeneric methodGeneric = new MethodGeneric();methodGeneric.setName("lalala");Integer age = methodGeneric.getAge(123);System.out.println(age);}
}
静态方法

静态方法中使用泛型时有一种情况需要注意一下,那就是静态方法无法访问类上定义的泛型,使用必须要将泛型定义在方法上。

语法结构:

//无返回值静态方法
public static <泛型标识符号> void setName(泛型标识符号 name){
}//有返回值静态方法
public static <泛型标识符号> 泛型标识符号 getName(泛型标识符号 name){
}

示例:

public class Test4 {public static void main(String[] args){MethodGeneric methodGeneric = new MethodGeneric();methodGeneric.setFlag("lalala");Integer flag1 = methodGeneric.getFlag(123123);System.out.println(flag1);}
}

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

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

相关文章

MUX VLAN

目录 原理概述 实验目的 实验内容 实验拓扑 1.基本配置 2.使用Hybrid端口实现网络需求 3.使用Mux VLAN实现网络需求 原理概述 在实际的企业网络环境中&#xff0c;往往需要所有的终端用户都能够访问某些特定的服务器&#xff0c;而用户之间的访问控制规则则比较复杂。在…

✌2024/4/3—力扣—字符串转换整数

代码实现&#xff1a; int myAtoi(char *str) {long ret 0;int flag 1; // 默认正数// 去除空格及判断符号位while (*str ) {str;}if (*str -) {flag -1;str;} else if (*str ) {str;}// 排除非数字的情况if (*str < 0 || *str > 9) {return 0;}while (*str > …

前端| 富文本显示不全的解决方法

背景 前置条件&#xff1a;编辑器wangEditor vue项目 在pc端进行了富文本操作&#xff0c; 将word内容复制到编辑器中&#xff0c; 进行发布&#xff0c; pc端正常&#xff0c; 在手机端展示的时候 显示不全 分析 根据h5端编辑器内容的数据展示&#xff0c; 看到有一些样式造…

大模型应用解决方案:基于ChatGPT和GPT-4等Transformer架构的自然语言处理

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

性能优化 - 你知道webpack都可以帮我们做哪些性能优化吗

难度级别:中高级及以上 提问概率:75% webpack打包优化主要的思想就是合理利用浏览器缓存、减小代码体积以及减少HTTP请求数量。尽管我们在开发阶段已经做了大量的优化工作,但开发阶段难免存在疏忽,而且源代码也不能直接部署到服务器。可以说…

一起学习python——基础篇(7)

今天讲一下python的函数。 函数是什么&#xff1f;函数是一段独立的代码块&#xff0c;这块代码是为了实现一些功能&#xff0c;而这个代码块只有在被调用时才能运行。 在 Python 中&#xff0c;使用 def 关键字定义函数&#xff1a; 函数的固定结构就是 def(关键字)函数名字…

vue中绑定

在vue当中&#xff0c;要给元素绑定事件需要用到vue指令&#xff0c;指令一般以v-开头&#xff0c;例如绑定单击事件的指令是v-on:click “函数名”&#xff0c;简写为click “函数名” 例如以下例子&#xff1a;单击button按钮&#xff0c;执行showInfo函数&#xff0c;弹出…

Spring 源码学习笔记(一)之搭建源码环境

前言 一直以来对 Spring 源码的理解不够全面&#xff0c;也不成条理&#xff0c;只是对其中的某小部分比较了解&#xff0c;所以从今天开始要重新系统学习 Spring 的源码了。 搭建源码环境 首先需要说明的是&#xff0c;源码环境并不是必须的&#xff0c;搭建源码环境唯一的好…

[STL-list]介绍、与vector的对比、模拟实现的迭代器问题

一、list使用介绍 list的底层是带头双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。与其他的序列式容器相比(array&#xff0c;vector&#xff0c;deque)&#xff0c;list通常在任意位置进行…

01.MySQL基础知识回顾

MySQL基础知识回顾 1.为什么要使用数据库 问题 如果把数据存储到内存中&#xff0c;那么重启后就消失了&#xff0c;我们希望一个数据被保存后永久存在于一个地方&#xff0c;也就是需要把数据持久化 什么是持久化 把数据保存到可掉电式存储设备中以供之后使用。大多数情况…

NIO与BIO

当谈到 Java 网络编程时&#xff0c;经常会听到两个重要的概念&#xff1a;BIO&#xff08;Blocking I/O&#xff0c;阻塞 I/O&#xff09;和 NIO&#xff08;Non-blocking I/O&#xff0c;非阻塞 I/O&#xff09;。它们都是 Java 中用于处理 I/O 操作的不同编程模型。 一、介…

vue-router v4.x命名路由,编程式跳转

命名路由&#xff0c;编程式跳转 const routes:RouteRecordRaw[] [{path:/,name:A,component: ()> import(../A.vue)},{path:/B,name:B,component: ()> import(../B.vue)}, ]通过name进行跳转 <template><div><router-link :to"{name:A}">…

【postgresql 基础入门】聚合函数,通用型,统计分析型,多种多样的聚合函数满足数据的大数据的统计分析

聚合函数 ​专栏内容&#xff1a; postgresql内核源码分析手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文章目录 聚合函数一、前…

Linux安装最新版Docker完整教程

参考官网地址&#xff1a;Install Docker Engine on CentOS | Docker Docs 一、安装前准备工作 1.1 查看服务器系统版本以及内核版本 cat /etc/redhat-release1.2 查看服务器内核版本 uname -r这里我们使用的是CentOS 7.6 系统&#xff0c;内核版本为3.10 1.3 安装依赖包 …

MySQL如何创建存储过程

工作中有时候需要自己去创建存储过程&#xff0c;然后调用存储去获得一些数据等&#xff0c;接下来就给大家介绍下MySQL如何创建存储过程。 语法&#xff1a; CREATE PROCEDURE 存储程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]]) [特性 …] 过…

区块链技术与数字身份:解析Web3的身份验证系统

在数字化时代&#xff0c;随着个人数据的日益增多和网络安全的日益关注&#xff0c;传统的身份验证系统面临着越来越多的挑战和限制。在这种背景下&#xff0c;区块链技术的出现为解决这一问题提供了全新的思路和解决方案。Web3作为一个去中心化的互联网模式&#xff0c;其身份…

多卡环境 设置某张卡跑某程序

如果要在使用screen命令时指定CUDA设备&#xff0c;正确的方法是在screen命令之前设置CUDA_VISIBLE_DEVICES环境变量。由于screen会启动一个新的shell会话&#xff0c;直接在命令中设置环境变量可能不会按预期工作。因此&#xff0c;你需要先导出环境变量&#xff0c;然后再启动…

在线JSON工具

功能支持 ctrls json格式化游览器本地保存ctrla ctrlc 自动检测选中范围是否是全选&#xff0c;然后按照格式化方式添加到粘贴板中json 粘贴JSON自动格式化json可视化修改json压缩复制json层级折叠json关键key 搜索(自动提示高亮)满足某些近视的可以自行调整字体大小, 并且会游…

【Spring】SpringBoot整合MybatisPlusGernerator,MybatisPlus逆向工程

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 在我们写项目的时候&#xff0c;我们时常会因为需要创建很多的项目结构而头疼。项目中的表很多的时候&#xff0c;我们连实体类都创建不完&#xff0c;这时候就需要我们的逆向工程来帮助我们生成我们的框架结构。这些结构…

centos安装使用elasticsearch

1.首先可以在 Elasticsearch 官网 Download Elasticsearch | Elastic 下载安装包 2. 在指定的位置(我的是/opt/zhong/)解压安装包 tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz 3.启动es-这种方式启动会将日志全部打印在当前页面&#xff0c;一旦使用 ctrlc退出就会导…