2016-10-27 24 views
0
public class GenericMethods { 
    public <T> void f(T x) { 
     System.out.println(x.getClass().getName()); 
    } 
    public static void main(String[] args) { 
     GenericMethods gm = new GenericMethods(); 
     gm.f(""); 
     gm.f(1); 
     gm.f(1.0); 
     gm.f(1.0F); 
     gm.f('c'); 
     gm.f(gm); 
    } 
} 
/* Output: 
java.lang.String 
java.lang.Integer 
java.lang.Double 
java.lang.Float 
java.lang.Character 
GenericMethods */ 

public <T> void f(T x)是什麼意思?它是返回類型嗎?
但該函數實際上並沒有返回任何東西。它指的是什麼?我不能將它放在任何常規函數頭類別下:像acces-specifier,return-type等。方法定義中的類型參數<T>是什麼意思?

+5

這是一個泛型類型參數,聲明該方法是通用的,就這些了。看到https://docs.oracle.com/javase/tutorial/java/generics/methods.html –

回答

1

它是一個泛型類型參數。請參閱Oracle tutorial泛型

+0

採取免費的15代表。 – Ram

相關問題