2014-10-27 50 views
0

我正在學習java泛型,我不知道解決此問題的正確方法。從有界類型獲取類

我有一個Bean類:

public class Bean<C> { 

    protected Dao<C, Integer> getDao(Context context) 
    { 
     Dao<C, Integer> dao; 

     try { 
      dao = DatabaseHelper.getInstance(context).getDao(); //HERE 
     } catch (SQLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

} 

的方法getDao()預計參數作爲一個Class<T>。當我簡單地放置C類型時,它不起作用(即使使用C.class)。

我該怎麼辦?

謝謝。

+0

可能相關:http://stackoverflow.com/questions/9088087/java-and-generics – 2014-10-27 20:16:51

回答

0

問題與我的方法的另一個參數解決:

protected Dao<C, Integer> getDao(Context context, Class<C> clazz) 
{ 
    Dao<C, Integer> dao; 

    try { 
     dao = DatabaseHelper.getInstance(context).getDao(clazz); 
    } catch (SQLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 
+0

好像'類'應該是一個'Bean'的領域。 – Radiodef 2014-10-27 20:20:16

+0

好的,謝謝! – 2014-10-27 20:22:01