㈠ java中如何得到泛型參數的class
泛型的目的就是為了避免強制類型轉換,所以直接取出來就是object的類型了。
public
class
classtest
{
public
static
void
main(string[]
args)
{
list
liststr
=
new
arraylist
();
liststr.add("aaa");
liststr.add("bbb");
system.out.println(liststr.get(0));
}
}
你想要的應該是這個吧,只要取出來就是你定義類型的object了,在這個例子中是string。如果你給它定義的是integer類型的泛型的話,取出來就是integer了。
㈡ java 語言Class類的作用,怎麼使用
1,Class類有什麼用?
Class類的實例表示java應用運行時的類(Class ans enum)或介面(interface and annotation)(每個java類運行時都在JVM里表現為一個Class對象,可通過類名.Class,類型.getClass(),Class.forName("類名")等方法獲取Class對象)。數組同樣也被映射為為Class 對象的一個類,所有具有相同元素類型和維數的數組都共享該 Class 對象。基本類型boolean,byte,char,short,int,long,float,double和關鍵字void同樣表現為 Class對象。
2,Class類的特徵
Class類沒有公有的構造方法,它由JVM自動調用(在new對象或者載入-ClassLoader時)。
下面的方法作用是列印出對象的Class name:
void printClassName(Object obj) {
System.out.println("The Class of " + obj + " is " + obj.getClass().getName());
}
同樣可以根據Class literal 獲得Class name:
System.out.println("The name of Class Foo is: "+Foo.Class.getName());//你可以將Foo改為void嘗試下。
3,Class的用法示例
如我們定義一個類:
public Class Test{
//Constructor
public Test(){this("");}
public Test(String name){}
//Field
public int id;
public String name;
//Method
public void testMethod(){
}
}
我們可以:
Class c = Class.forName("Test");
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
System.out.println(m[i].toString());//輸出testMethod
}
Constructor c[] = cls.getDeclaredConstructors();
for (int i = 0; i < c.length; i++) {
Constructor ct = c[i];
System.out.println("name = " + ct.getName());//輸出兩個構造函數信息
㈢ java中如何得到泛型參數的class
泛型的類型是無法在運行時通過反射取得的,泛型類型在編譯成位元組碼的時候已經內被容虛擬機給去掉了,只是起到提示編譯器進行類型檢查的作用用這種方法你試一試:父類:import java.lang.reflect.ParameterizedType;public class Parentpublic Parent() {ParameterizedType type = (ParameterizedType)this.getClass().getGenericSuperclass();System.out.println("type==" + type);System.out.println("entityClass==" + type.getActualTypeArguments()[0]);System.out.println("getOwnerType==" + type.getOwnerType());System.out.println("getRawType==" + type.getRawType());}}子類:public class Child
㈣ 最近看到一個java程序,其中有一個方法的參數是 類名.class,不知道是什麼意思,哪位高手能幫忙回答一下
這說明參數類型是Class類型 很正常
每一個類都有一個class成員,代表該類唯一的Class實例
㈤ java 中怎樣實現類類型作為參數傳遞
直接把參數類型定義為對應的類,就是類類型。
1、定一個類
publicclassA{//定義一個類A
}
2、定一個方法,類A作為參數傳遞
publicclassB{//定義一個類B
publicvoidshow(Aa){//類作為參數傳遞
}
}
㈥ JAVA反射中通過Class.forname()如何帶參數的方法怎麼賦值和調用呀
用Class.forName方法動態載入構造方法帶參數的類。