Android 房间里可以上抛吗?
这里有一个简单的例子来解释这个问题Android 房间里可以上抛吗?,android,android-room,Android,Android Room,这里有一个简单的例子来解释这个问题 public interface User { long getId(); } @Entity public class UserImpl implements User { @PrimaryKey(autoGenerate = true) private final long id; public UserImpl(long id) { this.id = id; } @Override
public interface User {
long getId();
}
@Entity
public class UserImpl implements User {
@PrimaryKey(autoGenerate = true)
private final long id;
public UserImpl(long id) {
this.id = id;
}
@Override
public long getId() {
return id;
}
}
@Dao
public interface UserImplDao {
@Query("SELECT * FROM UserImpl")
List<UserImpl> getAll();
}
@Database(entities = UserImpl.class, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract UserImplDao userImplDao();
}
公共界面用户{
长getId();
}
@实体
公共类UserImpl实现用户{
@PrimaryKey(自动生成=真)
私人最终长id;
公共UserImpl(长id){
this.id=id;
}
@凌驾
公共长getId(){
返回id;
}
}
@刀
公共接口UserImplDao{
@查询(“从UserImpl中选择*)
List getAll();
}
@数据库(实体=UserImpl.class,版本=1)
公共抽象类AppDatabase扩展了RoomDatabase{
公共抽象UserImplDao UserImplDao();
}
是否可以让UserImplDao返回List
而不是List
看起来应该很简单,但是如果我将返回类型更改为List
,它将无法编译
错误:不确定如何将游标转换为此方法的返回类型
我遇到了同样的问题,并试图找出是否支持此问题
不幸的是,似乎不能让Dao
返回超类型,而是让它构造子类型
在我的研究中,我发现了一个有待解决的问题,即要求具备这样做的能力: