java 泛型 作用与定义

2023-11-19

//1 泛型方法的定义和使用

public static void main(String[] args)throws ClassNotFoundException{
    String str = get("哈士奇","world");
    System.out.println(str);//输出打印 哈士奇

}
// static <T,U>T 是指定返回状态值 t
public static <T,U>T get(T t,U u){
    if (u !=null){
        return  t;
    }else {
        return null;
    }
}


// 2 泛型接口的定义和使用
 public static void main(String[] args)throws ClassNotFoundException{
      
        ShoeText showTest = new ShoeText();
        showTest.show("哈士奇",new Date());//Date() 系统时间

    }

   static class ShoeText implements Show<String, Date>{

        @Override
        public void show(String str, Date date) {
            System.out.println(str);//打印输出 哈士奇
            System.out.println(date);//打印输出 Tue Feb 02 10:38:47 CST 2021
        }
    }
interface Show<T,U> {
    void show(T t ,U u);
}


// 3 泛型变量的类型限定

类型限定就是使用extends关键字对类型变量加以约束。比如限定泛型参数只接受Number类或者子类Integer、Float等,可以这样限定<T extends Number>,这样限定之后,实际参数只能是Number类或者Number的子类。下面举例详细说明:

//定义一个水果类
//里面有一个示例方法getWeight()可以获取水果重量
public class Fruit {
    public int getWeight() {
        return 10; //这里假设所有水果重量都是10
    }
}
public class Apple extends Fruit {}


//定义泛型类Box,并限定类型参数为Fruit
public class Box<T extends Fruit> {}


//由于Box限定了类型参数,实际类型参数只能是Fruit或者Fruit的子类
Box<Fruit> integerBox = new Box<Fruit>();//编译通过
Box<Apple> integerBox = new Box<Apple>();//编译通过
Box<Integer> integerBox = new Box<Integer>();//编译器报错

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 泛型 作用与定义 的相关文章

  • Java操作Excel文件

    创建一个Excel文件 public static void creatExcelFile String filepath Workbook wb new XSSFWorkbook try FileOutputStream fileOut
  • 必须掌握的hashcode()方法

    一 hashcode是什么 1 hash和hash表是什么 想要知道这个hashcode 首先得知道hash 通过百度百科看一下 hash是一个函数 该函数中的实现就是一种算法 就是通过一系列的算法来得到一个hash值 这个时候 我们就需要
  • 黑马程序员---从头开始,回忆JAVA基础之JAVA用十六进制表示浮点数的方法

    在二进制文件中 存储数据的格式为16进制 下面举例说明27 0f在二进制文件中怎么表示 float 共计32位 折合4字节 由最高到最低位分别是第31 30 29 0位 31位是符号位 1表示该数为负 0反之 30 23位 一共8位是指数位
  • Java学习笔记 --- 布尔类型

    一 布尔类型 1 布尔类型也叫boolean类型 boolean类型数据只允许取值true和false 无null public class Bool public static void main String args boolean
  • mac上使用IntelliJ IDEA运行项目

    一 Mac OSX系统下安装Tomcat 1 下载Tomcat官方下载地址 2 解压Tomcat到目录 Library 中 并把文件夹名由 apache tomcat 6 0 16 改为 Tomcat 3 打开 应用程序 Applicati
  • 3、Java的If语句与For循环

    一 语句 条件语句 根据不同的条件 执行不同的语句 if if else if else if if else if else if else switch 循环语句 重复执行某些动作 for while do while 1 1 if语句
  • 接口的加密解密

    接口加密 1 接口参数加密 基础加密 2 接口参数加密 接口时效性验证 一般达到这个级别已经非常安全了 3 接口参数加密 时效性验证 私钥 达到这个级别安全性固若金汤 4 接口参数加密 时效性验证 私钥 Https 我把这个级别称之为金钟罩
  • 接口如何实现多态

    抽象类是用来继承的 不能被实例化 抽象类里可以有成员变量 接口中没有 1 抽象类里的抽象方法 只有在子类实现了才能使用 2 抽象类里的普通方法 可被子类调用 3 接口里的方法 都被默认修饰为public abstract类型 4 接口里的变
  • Java特训的第一天——开篇

    我是一名刚入门的Java菜鸟 我选择Java的原因是因为其语法简单 功能强大 从web 到桌面 到嵌入式 无所不能 下面我将谈一谈我对Java语言的认识 Java语言概述 关于Java的介绍网上有很详细的阐述 我在这里就不再细述了 下面只简
  • 对象数组题目 Student类

    package object oriented02 对象数组题目 定义类的Student 包含三个属性 学号为number 年级为state int 成绩为score int 创建20个学生对象 学号为1到20 年级和成绩都是随机产生 问题
  • java数组学习

    2021 2 2 数组 一维数组的使用 1 一维数组的声明和初始化 2 如何调用数组的指定位置的元素 3 如何获取数组的长度 4 如何遍历数组 5 数组元素的默认初始化值 6 数组的内存解析 package day01 import jav
  • 【Java】Java中的String类

    文章目录 一 认识 String 类 二 String 类的常用方法 2 1 构造方法 2 2 String 类对象之间的比较 2 3 字符串查找 2 4 字符串的转换 2 5 字符串替换 2 6 字符串拆分 2 7 字符串截取 2 8 字
  • 各种注释总结

    jsp注释 html注释
  • 进制及进制转换详解。原码、反码、移码,补码区别介绍。(通俗易懂)

    目录 前言 一 十进制 n进制 进制转换详解 1 先说说什么是进制 2 二进制介绍 3 十进制 n进制 进制转换详解 重点 十进制 gt n进制 2 8 16 n进制 2 8 16 gt 十进制 非十进制间的互相转化 二 原码 反码 移码
  • 第一个java程序helloworld代码的编写

    第一个java程序helloworld代码的编写 文章目录 第一个java程序helloworld代码的编写 toc 一 项目 二 认识JVM JRE和JDK 2 1 JVM是什么 2 2 JVM的主要功能和作用 2 3 JRE和JDK J
  • 对接百度api的工具类:Base64Util,FileUtil,HttpUtil

    对接百度api的工具类 Base64Util FileUtil HttpUtil package com baidu ai aip utils Base64 工具类 public class Base64Util private stati
  • java动态代理简单实例

    java动态代理简单实例 package hello import java lang reflect InvocationHandler import java lang reflect Method import java lang r
  • mysql无法连接问题及其环境变量配置

    问题 Can t connect to MySQL server on localhost 3306 10061 方案一 不推荐 第一 在环境变量 系统变量的path中添加mysql的bin目录 我的是D mysql mysql 8 0 2
  • java连接oracle出现ORA-12505错误

    问题 sqlplus可以连接 但java连接报错 ORA 12505 ORA 12505 TNS listener does not currently know of SID given in connect descr 解析 原因 数据
  • 黑豹程序员-字符串中查找出重复的字符串

    Collections frequency codeList element 字符串element 在codeList集合中重复的次数 List

随机推荐

  • Python 导出保存 MongoDB上数据到Excel(.xls和.csv)文件

    Python 中使用MongoDB存储数据 若需要导出数据到文件 可以使用pandas或xlwings导出到Excel xls和 csv 文件 本文主要介绍Python 中导出保存MongoDB上数据到Excel xls和 csv 文件的方
  • CVPR17(backbone) - ResNeXt : 引入网络设计中的新维度cardinality

    文章目录 原文地址 论文阅读方法 初识 相知 回顾 代码 论文全称 Aggregated Residual Transformations for Deep Neural Network 原文地址 原文地址 论文阅读方法 三遍论文法 初识
  • 《一个操作系统的实现》读书笔记-- 第一章--最小的“操作系统”

    一 最简单的 操作系统 最最简单的 操作系统 就是一个最最简单的引导扇区 Boot Sector 虽然它不具有任何功能 但是它却能够直接在裸机上运行 不依赖其他软件 一个引导扇区是512个字节 并且以0xAA55为结束标识的扇区 下面就是那
  • EIoU和Focal-EIoU Loss

    1 论文 论文题目 Focal and Efficient IOU Loss for Accurate Bounding Box Regression 2 引言 CIoU Loss虽然考虑了边界框回归的重叠面积 中心点距离 高宽比 但是其公
  • 第一章:宇宙第一IDE--Visual Studio

    数据结构 是指一种计算机存储 组织数据的方式 IDE Integrated Development Environment 的缩写 表示 集成开发环境 它是一种用于提供程序开发环境的应用程序 一般包括代码编辑器 编译器 调试工具和图形化用户
  • Java调用exe程序

    String exePath D Xftp6 Xftp exe BufferedReader br null BufferedReader brError String line null try String cmd D Xftp6 Xf
  • MATLAB函数句柄

    1 何为函数句柄 函数句柄也是MATLAB中的一种常见的数据类型 它的地位类似于其它计算机语言里的函数对象 Javascript Python 函数指针 C 或者函数引用 Perl 它的作用是将一个函数封装成一个变量 使其能够像其它变量一样
  • 【NLP】自然语言处理技术在自动生成足球比赛战报上的应用

    1 背景介绍 自动生成新闻看似是一个很成熟的技术 很多年前就有各种应用 但是深入了解后我们可以发现机器自动生成的文章一般都是复述一些数字和简单的趋势变化 所以自动生成新闻的技术广泛应用在金融 体育领域 原因就是这类报道需要基于一定的事实 而
  • 模型调参之网格搜索与随机搜索

    模型调参之网格搜索与随机搜索 网格搜索法 GridSearchCV GridSearchCV GridSearchCV可以拆分成GridSearch和CV两部分 即网格搜素和交叉验证 GridSearch系统地遍历多种参数组合 通过交叉验证
  • 一文讲透彻!RobotFramwork测试框架教程(全能)

    Robot Framwork在业界早已名声大振 有很多刚学自动化测试的伙伴问我 有没有不需要编程就可以玩自动化的方法 有吗 有的 Robot Framwork 我们今天就一篇文章 把它讲得明明白白 一 Robot Framwork简述 Ro
  • 宅男福利!程序员周末看片神器,关键还开源

    本文源自自公众号开源最前线 ID OpenSourceTop 猿妹整理 别人眼中的程序员一定是这样的 每天有接不完的需求 写不完的代码 改不完的Bug 但大多数程序员偶尔也是有周末的 你是否有出现这种情况 连续加了好几天的班 好不容易迎来一
  • Python查询MySQL数据库并输出相应信息

    场景描述 将fork的编号与ip信息存储在了MySQL中 数据库为forklift 数据表名为fork info 存储格式为id num ip 那么如何用python去查询这些信息呢 分析 根据提供的MySQL表结构 想从名为fork in
  • 【千律】C++基础:打开并下载网页 -- ShellExecuteEx 和 URLDownloadToFile 函数

    include
  • Elasticsearch 7 系列(3) —— 核心概念

    目录 集群 cluster 节点 node 索引 index 类型 type 要学好Elasticsearch 就得先对Elasticsearch中的概念有所了解 接下来我们就重点说说Elasticsearch中的集群 节点 索引 类型 文
  • 多个if语句并列_使用if-then 语句

    最基本的结构化命令就是if then语句 if then语句有如下格式 if command then commands fi 简单的例子 cat test1 sh bin bash testing the if statementif p
  • 开发工具链-DevOps_阿里云云效

    简介 阿里云效官网 DevOps Development和Operations的组合词 是一组过程 方法与系统的统称 用于促进开发 应用程序 软件工程 技术运营和质量保障 QA 部门之间的沟通 协作与整合 百度百科 快速开始 1 云效首页
  • 给导航网站新增了一些免费影视网站,欢迎体验

    使用时建议使用火狐浏览器 并安装广告屏蔽插件 这样就没有广告 视频内的广告千万不要相信 其余安心食用 地理导航 地理上网从这里开始
  • VS Code Remote Development

    配置VSCode Remote Development 1 Ubuntu 上启用 SSH 1 打开终端 并且安装openssh server软件包 sudo apt update sudo apt install openssh serve
  • 图像处理岗位面试题搜罗汇总

    传统图像处理部分 图像处理基础知识 彩色图像 灰度图像 二值图像和索引图像区别 彩色图像 RGB图像 灰度图像 0 255像素值 二值图像 0和1 用于掩膜图像 索引图像 在灰度图像中 自定义调色板 自定义输出256种颜色值 常用的图像空间
  • java 泛型 作用与定义

    1 泛型方法的定义和使用 public static void main String args throws ClassNotFoundException String str get 哈士奇 world System out print