Java 使用泛型类作为方法输入

Java 使用泛型类作为方法输入,java,android,abstract-class,Java,Android,Abstract Class,我有一个迭代代码,如下所示,用于我项目的不同位置: List<NewsItem> thisitem = Select.from(NewsItem.class).where(Condition.prop("_id").eq(item.get_id())).list(); if (thisitem.size() > 0) { thisitem.get(0).delete();

我有一个迭代代码,如下所示,用于我项目的不同位置:

            List<NewsItem> thisitem = Select.from(NewsItem.class).where(Condition.prop("_id").eq(item.get_id())).list();
            if (thisitem.size() > 0) {
                thisitem.get(0).delete();
                image_bookmark.setImageResource(R.drawable.ic_bookmark_normal);

            } else {
                item.save();
                image_bookmark.setImageResource(R.drawable.ic_bookmarkfill);
            }
我该怎么办

编辑

这是我的SugarItem类:

   import com.orm.SugarRecord;

public abstract class SugarOrmItem extends SugarRecord {
    public abstract  int  get_id();
}

我认为应该是这样的:

public static <T extends SugarOrmItem> void  insert_bookmark(
    String prop, T record, ImageView imageView, Class<T> clazz)
{
    List<T> thisitem = Select.from(clazz).
            where(Condition.prop(prop).eq(record.get_id())).list();
    if (thisitem.size() > 0) {
        thisitem.get(0).delete();
        imageView.setImageResource(R.drawable.ic_bookmark_normal);
    } else {
        imageView.setImageResource(R.drawable.ic_bookmarkfill);
    }
}
publicstaticvoidinsert\u书签(
字符串属性,T记录,图像视图,类clazz)
{
列出此项=从(clazz)中选择。
其中(Condition.prop(prop.eq(record.get_id()).list());
如果(thisitem.size()>0){
thisitem.get(0.delete();
setImageResource(R.drawable.ic_bookmark_normal);
}否则{
setImageResource(R.drawable.ic_bookmarkfill);
}
}

我认为应该是这样:

public static <T extends SugarOrmItem> void  insert_bookmark(
    String prop, T record, ImageView imageView, Class<T> clazz)
{
    List<T> thisitem = Select.from(clazz).
            where(Condition.prop(prop).eq(record.get_id())).list();
    if (thisitem.size() > 0) {
        thisitem.get(0).delete();
        imageView.setImageResource(R.drawable.ic_bookmark_normal);
    } else {
        imageView.setImageResource(R.drawable.ic_bookmarkfill);
    }
}
publicstaticvoidinsert\u书签(
字符串属性,T记录,图像视图,类clazz)
{
列出此项=从(clazz)中选择。
其中(Condition.prop(prop.eq(record.get_id()).list());
如果(thisitem.size()>0){
thisitem.get(0.delete();
setImageResource(R.drawable.ic_bookmark_normal);
}否则{
setImageResource(R.drawable.ic_bookmarkfill);
}
}

代码是从哪里获得的?代码是从哪里获得的?它给了我一个错误:
预期的标识符或类型
问题在于这一部分:
应该在
无效之前
有效!它给了我这个错误:
标识符或预期的类型
问题是这部分:
应该在
无效
之前工作!