该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

Java教程 - 如何使用Java泛型接口

在Java中,我们创建泛型接口。

语法

这是一个泛型接口的泛型语法:

interface interface-name { // ...

type-param-list是逗号分隔的类型参数列表。当实现泛型接口时,必须指定类型参数,如下所示:

class class-name

implements interface-name {

注意

一般来说,如果一个类实现了一个泛型接口,那么该类也必须是泛型的。如果一个类实现了一个特定类型的泛型接口,如下所示:

class MyClass implements MinMax { // OK

那么实现类不需要是泛型的。

泛型接口类似泛型类。

例子

interface MinMax> {

T max();

}

class MyClass> implements MinMax {

T[] vals;

MyClass(T[] o) {

vals = o;

}

public T max() {

T v = vals[0];

for (int i = 1; i < vals.length; i++) {

if (vals[i].compareTo(v) > 0) {

v = vals[i];

}

}

return v;

}

}

public class Main {

public static void main(String args[]) {

Integer inums[] = { 3, 6, 2, 8, 6 };

Character chs[] = { "b", "r", "p", "w" };

MyClass a = new MyClass(inums);

MyClass b = new MyClass(chs);

System.out.println(a.max());

System.out.println(b.max());

}

}

上面的代码生成以下结果。

java 泛型的接口_Java 泛型接口相关推荐

  1. java泛型与接口_Java泛型用于方法,类和接口

    什么是泛型? 型就是数据类型参数化.就是说原本定死的数据类型像方法中的形参一样,数据是不确定的,使用的时候由人传进去,泛型就是这样,数据类型不确定了.使用的时候再确定就可以了. 泛型的特点 是JDK1 ...

  2. java 泛型集合示例_Java 泛型(示例代码)

    1.泛型的由来 我们先看下面这段代码: 报错信息如下: 也就是 集合中第二个数据是 Integer,但是我们取出来的时候将其转换为 String 了,所以报错. 那么这个如何解决呢? ①.我们在遍历的 ...

  3. java泛型常用特点_Java基础系列(3)Java泛型知多少?

    不积跬步,无以至千里:不积小流,无以成江海 什么是泛型?为什么要使用泛型? 泛型,即"参数化类型".一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参.那么参数化类 ...

  4. java泛型常用特点_Java泛型详解

    对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考java 泛型详解.Java中的泛型方法. java泛型详解 1. 概述 泛型在 ...

  5. java 泛型集合应用_Java泛型集合的应用和方法

    展开全部 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以62616964757a686964616fe78988e69d8331333 ...

  6. java 泛型和集合_Java集合和泛型

    集合 常用的集合有ArrayList,TreeSet,HashMap,HashSet. ArrayList 最常用的集合,每次插入都在后面追加元素. TreeSet 以有序状态保持并可防止重复.当你需 ...

  7. 描述java泛型引入原则_Java/泛型的类型擦除/README.md · oslo/LearningNotes - Gitee.com

    前言 Java 泛型(Generic)的引入加强了参数类型的安全性,减少了类型的转换,但有一点需要注意:Java 的泛型在编译器有效,在运行期被删除,也就是说所有泛型参数类型在编译后都会被清除掉,看下 ...

  8. java 微信退款接口_java版微信和支付宝退款接口

    本文实例为大家分享了java微信退款接口和支付宝退款接口的具体代码,供大家参考,具体内容如下 1.微信退款接口 相对来说我感觉微信的退款接口还是比较好调用的,直接发送httppost请求即可: /** ...

  9. java中抽象类 接口_java中的抽象类与接口

    1.抽象类的定义 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 2.简单实例 ...

最新文章

  1. Web3.js 0.20.x API 中文版翻译
  2. DataGridView使用小结
  3. Windows 7的使用技巧或功能经典20条
  4. VTK:PolyData之WarpVector
  5. day11 函数的参数列表
  6. mysql int 优化_MySQL数据类型优化—整数类型优化选择
  7. dp主机_HDMI和DP谁才是未来主流?
  8. jenkins集成tomcat
  9. python爬虫下载模块_python爬虫模块之HTML下载模块
  10. android 图片自动移动位置信息,android – 使用翻译动画将ImageView从当前位置移动到固定位置...
  11. TensorFlow笔记(6) 单神经元分类
  12. dwf怎么合成一个_图纸集批量发布单页dwf的方法——院办质量小组
  13. 服务器文件异地备份,云服务器需要异地备份吗
  14. 在.NET实现邮件收发功能(包含源代码)
  15. 电脑截图快捷键有哪些?5大截图方法总结!(2023版)
  16. 石墨笔记,Onenote,Effie哪个更适合记者?
  17. 写给大家看的PPT设计书
  18. 计算机簇的定义,代数簇
  19. 甲方安全之仿真钓鱼演练(邮件+网站钓鱼)
  20. postgresql索引_PostgreSQL中的索引— 8(RUM)

热门文章

  1. 数据库中Union的用法
  2. 大数据平台中kudu的地位和价值(为什么会有kudu)
  3. 火狐浏览器获取flash上传文件的
  4. mysql刷盘机制详解
  5. 算法竞赛入门经典第二版:循环结构程序设计实例与习题
  6. 砥砺前行 | Kratos 框架 v2 版本架构演进之路
  7. 惠普暗夜精灵3plus配置ubuntu18.0.4、cuda9.0、cudnn7.0、anaconda(python2.7)、tensorflow-gpu1.8、keras、opencv等
  8. 一个像素点为4个字节
  9. 618如何冲出重围?海尔智家:做好用户的数字化
  10. Vscode - 修改插件安装目录