Java 5.0 ·ºÐÍÖ® Java·ºÐÍÎÞ·¨ÏòÉÏתÐÍ
package Demo;
// Java·ºÐÍÎÞ·¨ÏòÉÏתÐÍ
class Info23<T> {
private T var; // ¶¨Òå·ºÐͱäÁ¿
public void setVar(T var) {
this.var = var;
}
public T getVar() {
return this.var;
}
public String toString() { // Ö±½Ó´òÓ¡
return this.var.toString();
}
}
public class GenericsDemo23 {
// ¸ÃÅú×¢µÄ×÷ÓÃÊǸø±àÒëÆ÷Ò»ÌõÖ¸Á¸æËßËü¶Ô±»Åú×¢µÄ´úÂëÔªËØÄÚ²¿µÄijЩ¾¯¸æ±£³Ö¾²Ä¬¡£
/*
* @description "deprecation" ʹÓÃÁ˲»ÔÞ³ÉʹÓõÄÀà»ò·½·¨Ê±µÄ¾¯¸æ
*
* @description "unchecked" Ö´ÐÐÁËδ¼ì²éµÄת»»Ê±µÄ¾¯¸æ£¬ÀýÈ統ʹÓü¯ºÏʱûÓÐÓ÷ºÐÍ (Generics)
* À´Ö¸¶¨¼¯ºÏ±£´æµÄÀàÐÍ¡£
*
* @description "fallthrough" µ± Switch ³ÌÐò¿éÖ±½ÓͨÍùÏÂÒ»ÖÖÇé¿ö¶øÃ»ÓÐ Break ʱµÄ¾¯¸æ¡£
*
* @description "path" ÔÚÀà·¾¶¡¢Ô´Îļþ·¾¶µÈÖÐÓв»´æÔڵķ¾¶Ê±µÄ¾¯¸æ¡£
*
* @description "serial" µ±ÔÚ¿ÉÐòÁл¯µÄÀàÉÏȱÉÙ serialVersionUID ¶¨ÒåʱµÄ¾¯¸æ¡£
*
* @description "finally" ÈκΠfinally ×Ӿ䲻ÄÜÕý³£Íê³ÉʱµÄ¾¯¸æ¡£
*
* @description "all" ¹ØÓÚÒÔÉÏËùÓÐÇé¿öµÄ¾¯¸æ¡£
*/
@SuppressWarnings("all")
public static void main(String args[]) {
Info23<String> i1 = new Info23<String>(); // ·ºÐÍÀàÐÍΪString
Info23<Object> i2 = null;
// i2 = i1; // Õâ¾ä»á³ö´í incompatible types
}
}
Ïà¹ØÎĵµ£º
Ò»£º×¼±¸ www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
¶þ£º±àÒëÔ´ÎļþµÃµ½jar°ü ʹÓÃAnt
1. build vserv-tcpip-0.9.2-src
ÔÚvserv-tcpip-0.9.2Ŀ¼ÏÂÃæ½¨Ò»¸ötestsĿ¼£¬È»ºóÔÚcmd´°¿ÚϽøÈë ......
package Demo;
// ÆÕͨ·ºÐÍ
class Point<T> { // ´Ë´¦¿ÉÒÔËæ±ãд±êʶ·ûºÅ£¬TÊÇtypeµÄ¼ò³Æ
private T var; // varµÄÀàÐÍÓÉTÖ¸¶¨£¬¼´£ºÓÉÍⲿָ¶¨
public T getVar() { // ·µ»ØÖµµÄÀàÐÍÓÉÍⲿ¾ö¶¨
return var;
}
public void setVar(T var) { // ÉèÖõÄÀàÐÍÒ²ÓÉÍⲿ¾ö¶¨
this.var = var;
}
}
publi ......
package Demo;
// Java·ºÐÍ·½·¨
class Demo26 {
public <T> T fun(T t) { // ¿ÉÒÔ½ÓÊÕÈÎÒâÀàÐ͵ÄÊý¾Ý
return t; // Ö±½Ó°Ñ²ÎÊý·µ»Ø
}
}
public class GenericsDemo26 {
public static void main(String args[]) {
Demo26 d = new Demo26(); // ʵÀý»¯Demo¶ÔÏó
String str = d.fun("it"); // ´«µÝ× ......
package Demo;
// Java·ºÐÍÊý×é
public class GenericsDemo30 {
public static void main(String args[]) {
Integer i[] = fun1(1, 2, 3, 4, 5, 6); // ·µ»Ø·ºÐÍÊý×é
fun2(i);
}
public static <T> T[] fun1(T... arg) { // ½ÓÊտɱä²ÎÊý
return arg; // ·µ»Ø·ºÐÍÊý×é
}
public static <T> ......
package Demo;
// Java·ºÐ͵ÄǶÌ×ÉèÖÃ
class Info31<T, V> { // ½ÓÊÕÁ½¸ö·ºÐÍÀàÐÍ
private T key;
private V value;
public Info31(T key, V value) {
this.setKey(key);
this.setValue(value);
}
public void setKey(T key) {
this.key = key;
}
public void setValue(V value) {
this. ......