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