本文共 2313 字,大约阅读时间需要 7 分钟。
package 泛型;public class Main { public static void main(String[]argv){ var list=new GenericList(); list.add(Integer.valueOf(2)); list.add(6); System.out.println(list.get(1)); var user1=new User(10); var user2=new User(20); System.out.println(max(user1,user2)); print(1,2); /*泛型与继承*/ User user=new Instructor(666); printUser(user); var users=new GenericList (); //ERROR //printUsers(users); //GenericList 并不能转换为 GenericList /*Wildcards通配符解决,泛型继承问题 * */ printGenericListALL(users); } public static > T max(T first,T second){ return first.compareTo(second)<0?second:first; } public static void print(K key,V value){ System.out.println("key="+key+" value="+value); } /*泛型与继承 *Generic Classes and Inheritance * */ public static void printUser(User user){ System.out.println(user); } public static void printUsers(GenericList users){ } public static void printGenericListALL(GenericList users){ //Object x=users.get(0); }}
package 泛型;public class User implements Comparable{ private int point; public User(int point){ this.point=point; } @Override public int compareTo(User o) { //this < o ->-1 //this==o ->0 //this > o ->1 return point-o.point; } @Override public String toString(){ return "point="+this.point; }}
package 泛型;public class KeyValuePair{ private K key; private V value; public KeyValuePair(K key,V value){ this.key=key; this.value=value; }}
package 泛型;public class Instructor extends User{ public Instructor(int point){ super(point); }}
package 泛型;/*1、泛型什么样子* */public class GenericList{ //public class GenericList //public class GenericList //public class GenericList { private T[] items=(T[])new Object[10]; private int count=0; public void add(T item){ items[count++]=item; } public T get(int index){ return items[index]; }}
转载地址:http://qucki.baihongyu.com/