java泛型程序设计之泛型方法
2016-05-25 00:29
645 查看
1、类中泛型定义格式:
public static <T>TgetMiddel(T a){.....}
注意:泛型方法可以定义在普通类中,也可以定义在泛型类中。
2、具体实现实例:
package com.pair.com;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class PairTest2
{
public static void main(String[] args)
{
GregorianCalendar[] birthdays =
{new GregorianCalendar(1906, Calendar.DECEMBER, 9), new GregorianCalendar(1815, Calendar.DECEMBER, 10),
new GregorianCalendar(1903, Calendar.DECEMBER, 3), new GregorianCalendar(1906, Calendar.JUNE, 22)};
Pair<GregorianCalendar> mm = ArrayAg.minMax(birthdays);
System.out.println("min:" + mm.getFirst().getTime());
System.out.println("max:" + mm.getSecond().getTime());
}
}
class ArrayAg
{
/**
* @Title: minMax
* @Description:Gets the mininum and maximun of an array of typeParam
* @param: @param a
* @param: @return
* @return: Pair<T>
* @throws
*/
public static <T extends Comparable> Pair<T> minMax(T[] a)
{
if (a == null || a.length == 0)
{
return null;
}
T min = a[0];
T max = a[0];
for (T arr : a)
{
if (min.compareTo(arr) > 0)
{
min = arr;
}
if (max.compareTo(arr) < 0)
{
max = arr;
}
}
return new Pair<T>(min, max);
}
}
public static <T>TgetMiddel(T a){.....}
注意:泛型方法可以定义在普通类中,也可以定义在泛型类中。
2、具体实现实例:
package com.pair.com;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class PairTest2
{
public static void main(String[] args)
{
GregorianCalendar[] birthdays =
{new GregorianCalendar(1906, Calendar.DECEMBER, 9), new GregorianCalendar(1815, Calendar.DECEMBER, 10),
new GregorianCalendar(1903, Calendar.DECEMBER, 3), new GregorianCalendar(1906, Calendar.JUNE, 22)};
Pair<GregorianCalendar> mm = ArrayAg.minMax(birthdays);
System.out.println("min:" + mm.getFirst().getTime());
System.out.println("max:" + mm.getSecond().getTime());
}
}
class ArrayAg
{
/**
* @Title: minMax
* @Description:Gets the mininum and maximun of an array of typeParam
* @param: @param a
* @param: @return
* @return: Pair<T>
* @throws
*/
public static <T extends Comparable> Pair<T> minMax(T[] a)
{
if (a == null || a.length == 0)
{
return null;
}
T min = a[0];
T max = a[0];
for (T arr : a)
{
if (min.compareTo(arr) > 0)
{
min = arr;
}
if (max.compareTo(arr) < 0)
{
max = arr;
}
}
return new Pair<T>(min, max);
}
}
相关文章推荐
- java泛型程序设计之泛型类
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- Java基础回顾 : RuntimeException和Exception的区别
- 一、初识java
- AutoCloseable,Closeable和Flushable
- JSP+Servlet制作Java Web登录功能的全流程解析
- Java Web开发过程中登陆模块的验证码的实现方式总结
- Spring定时任务的几种实现
- Java Switch语句及性能剖析(转载补充)
- 《深入理解Java虚拟机》读后总结(一)JVM内存模型
- 《深入理解Java虚拟机》读后总结(四)JVM垃圾回收
- 《深入理解Java虚拟机》读后总结(二)JVM内存分配
- Java 加密解密之对称加密算法DESede
- Java BASE64加密解密
- Java byte数组与十六进制字符串互转
- 《深入理解Java虚拟机》读后总结(三)JVM内存监控
- Java学习之路(第二天)
- Java 加密解密之对称加密算法DES
- Eclipse 常用插件
- Java 加密解密之消息摘要算法(MD5 SHA MAC)