从有界类型获取类

时间:2014-10-27 20:11:37

标签: java

我正在学习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)。

我该怎么办?

感谢。

1 个答案:

答案 0 :(得分: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();
    }
}