???????????
???????????????<>??????????????????????????
?????????java?????????????????÷??????
???????????????д???????????<>????巺???
???????<>????????????????????ü??????
??????????????洢??????????????????????<>?м??ɡ?
???????

 

import java.util.*;
class TreeSetTest{
public static void main(String[] args){
TreeSet<String> ts = new TreeSet<String>(new LenComparator());
ts.add("abcd");
ts.add("cc");
ts.add("cba");
ts.add("z");
ts.add("a");
ts.add("sdcvrt");
Iterator<String> it = ts.iterator();
while(it.hasNext()){
String s = it.next();
System.out.println(s);
}
}
}
//??????????????Comparator??????÷???
class LenComparator implements Comparator<String> {
public int compare(String s1??String s2){
/*
//????
int num = new Integer(s1.length()).compareTo(new Integer(s2.length()));
if(num==0)
return s1.compareTo(s2);
return num;
*/
//????
int num = new Integer(s2.length()).compareTo(new Integer(s1.length()));
if(num==0)
return s2.compareTo(s1);
return num;
}
}
/*
???
sdcvrt
abcd
cba
cc
z
a
*/

??????????
??????????巺????
??????????????????????????????????????
???????????Object??????????
??????????巺?????????

 

class Worker{}
class Student{}
//?????????????
class Tool{
private Object obj;
public void setObject(Object obj){
this.obj = obj;
}
public Object getObject(){
return obj;
}
}
//??????
class Utils<QQ>{
private QQ q;
public void setObject(QQ q){
this.q = q;
}
public QQ getObject(){
return q;
}
}
class GenericDemo{
public static void main(String[] args){
Utils<Worker> u = new Utils<Worker>();
u.setObject(new Worker());
Worker w = u.getObject();
/*
Tool t = new Tool();
t.setObject(new Worker());
Worker w = (Worker)t.getObject();
*/
}
}

???????????
????????ò?????????????????????????????????????????????
???????????????????

 

class Demo{
//??????????????
public <T> void show(T t){
System.out.println("show:"+t);
}
public <Q> void print(Q q){
System.out.println("print:"+q);
}
}
class  GenericDemo{
public static void main(String[] args){
Demo d = new Demo();
d.show(5);
d.show(new Integer(5));
d.show("haha");
d.print(8);
d.print(new Integer(5));
d.print("heihei");
}
}
/*
???
show:5
show:5
show:haha
print:8
print:5
print:heihei
*/