java简单的泛型示例,java示例,几个简单的泛型示例。ja
分享于 点击 25523 次 点评:37
java简单的泛型示例,java示例,几个简单的泛型示例。ja
几个简单的泛型示例。
java 泛型简单应用泛型简单讲就是类型参数化。主要有以下应用
一、泛型类
/** * * @author zxf * * @param <T> */public class Pair<T>{ private T first; private T second; public Pair(){ first = null; second = null; } public Pair(T first,T second){ this.first = first; this.second = second; } public T getFirst() { return first; } public void setFirst(T first) { this.first = first; } public T getSecond() { return second; } public void setSecond(T second) { this.second = second; }}
[Java]代码
二 泛型方法
import java.util.List;public class ArrayCompare { public static <T extends Comparable<T>>Pair<T> minMax(List<T> strs){ if(strs == null || strs.size()==0){ return new Pair<T>(); } T min = strs.get(0); T max = strs.get(0); for (int i = 0; i < strs.size(); i++) { if(min.compareTo(strs.get(i))>0){ min = strs.get(i); } if(max.compareTo(strs.get(i))<0){ max = strs.get(i); } } return new Pair<T>(min,max); }}
三、泛型接口
[Java]代码
import java.util.List;public interface ArrayCompareInterface<T extends Comparable<T>> { public Pair<T> minMax(List<T> list); }import java.util.List;/*** Double类型实现类*/public class ArrayCompareInterfaceDoubleImpl implements ArrayCompareInterface<Double> { public Pair<Double> minMax(List<Double> list) { if(list == null || list.size()==0){ return new Pair<Double>(); } Double min = list.get(0); Double max = list.get(0); for (int i = 0; i < list.size(); i++) { if(min.compareTo(list.get(i))>0){ min = list.get(i); } if(max.compareTo(list.get(i))<0){ max = list.get(i); } } return new Pair<Double>(min,max); }}import java.util.List;/*** String类型实现类*/public class ArrayCompareInterfaceStringImpl implements ArrayCompareInterface<String> { public Pair<String> minMax(List<String> list) { if(list == null || list.size()==0){ return new Pair<String>(); } String min = list.get(0); String max = list.get(0); for (int i = 0; i < list.size(); i++) { if(min.compareTo(list.get(i))>0){ min = list.get(i); } if(max.compareTo(list.get(i))<0){ max = list.get(i); } } return new Pair<String>(min,max); }}
四、java api中提供的集合框架
[Java]代码
/** * 测试类 */import java.util.ArrayList;import java.util.List;public class Test { public static void main(String[] args) { //测试泛型方法同时测试泛型类 List<String> strs = new ArrayList<String>(); strs.add("a"); strs.add("b"); strs.add("c"); strs.add("d"); strs.add("e"); strs.add("f"); strs.add("g"); Pair<String> minMaxStr = ArrayCompare.minMax(strs); System.err.println("【测试泛型方法】" + minMaxStr.getFirst()); System.err.println("【测试泛型方法】" + minMaxStr.getSecond()); //测试泛型方法同时测试泛型类 List<Double> ds = new ArrayList<Double>(); ds.add(1d); ds.add(2d); ds.add(3d); ds.add(4d); ds.add(5d); ds.add(6d); ds.add(7d); Pair<Double> minMaxInte = ArrayCompare.minMax(ds); System.err.println("【测试泛型方法】" + minMaxInte.getFirst()); System.err.println("【测试泛型方法】" + minMaxInte.getSecond()); //测试泛型接口同时测试泛型类 ArrayCompareInterface<Double> aci = new ArrayCompareInterfaceDoubleImpl(); Pair<Double> minMaxImplDouble = aci.minMax(ds); System.err.println("【测试泛型接口】" + minMaxImplDouble.getFirst()); System.err.println("【测试泛型接口】" + minMaxImplDouble.getSecond()); //测试泛型接口同时测试泛型类 ArrayCompareInterface<String> ac = new ArrayCompareInterfaceStringImpl(); Pair<String> minMaxImplStr = ac.minMax(strs); System.err.println("【测试泛型接口】" + minMaxImplStr.getFirst()); System.err.println("【测试泛型接口】" + minMaxImplStr.getSecond()); }}
用户点评