博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA泛型方法与类型限定
阅读量:5121 次
发布时间:2019-06-13

本文共 902 字,大约阅读时间需要 3 分钟。

 
泛型方法可以定义在普通类中,也可以定义在泛型类中
1 class ArrayAlg{2     public static 
T getMiddle(T...a){3 return a[a.length/2];4 }5 }

 

 
注意:类型变量放在修饰符后( public static )
当调用泛型方法时,方法名前尖括号中放入具体的类型
String middle=ArrayAlg.
getMiddle("John","Q.","Public");

 

 
大多数情况下,方法调用可以省略<String>类型参数
String middle=ArrayAlg.getMiddle("John","Q.","Public");

 


 
类型变量的限定
有时,类或方法需要对类型变量加以约束
1 class ArrayAlg{ 2     public static 
T min(T[] a){ 3 if(a==null||a.length==0) return 0; 4 T smallest=a[0]; 5 for(int i=1;i
0) 7 smallest=a[i]; 8 return smallest; 9 }10 }

 

上例min方法内部,变量smallest类型为T,而且smallest必须有compareTo方法程序才能正常运行
解决的方法是限制T实现Comparable接口
public static 
T min(T[] a)...

 

一个类型变量或通配符可以有多个限定,限定类型用&分隔
T extends Comparable & Serializable

 

转载于:https://www.cnblogs.com/vincentme/p/7754874.html

你可能感兴趣的文章
Codeforces 719B Anatoly and Cockroaches
查看>>
关于TFS2010使用常见问题
查看>>
聚合与组合
查看>>
ionic2+ 基础
查看>>
Screening technology proved cost effective deal
查看>>
【2.2】创建博客文章模型
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
Java语言概述
查看>>
关于BOM知识的整理
查看>>
使用word发布博客
查看>>
GDOI DAY1游记
查看>>
MyBaits动态sql语句
查看>>
HDU4405(期望DP)
查看>>
拉格朗日乘子法 那些年学过的高数
查看>>
vs code 的便捷使用
查看>>
Spring MVC @ResponseBody返回中文字符串乱码问题
查看>>
用户空间与内核空间,进程上下文与中断上下文[总结]
查看>>
JS 中的跨域请求
查看>>
JAVA开发环境搭建
查看>>
mysql基础语句
查看>>