我试图拥有一个基类,其中 id 字段属于通用类型,例如
class BaseEntity<T>{
private T id;
//get, set;
}
class User extends BaseEntity<String> {
//blah blah blah
}
我有一个像这样的 DAO:
@Dao
public interface UserDao {
@Query("SELECT * FROM user WHERE id = :id")
Flowable<User> getUserById(String id);
}
我收到编译错误:
app\build\ generated\source\apt\irrisimples\debug\com\irrisimples\data\source\local\UserDao_Impl.java:275:错误:找不到符号
最终T_tmpId;
^
在 UserDao_Impl:275 中:
最终T_tmpId;
_tmpId = _cursor.getString(_cursorIndexOfId);
所以这意味着 Room 无法弄清楚 T 是什么并替换那里的值。这是一个错误还是我做错了什么?
PS:使用Android Studio 3.1 BETA 3和Room 1.0.0(测试1.1.0-alpha2)
参考谷歌问题跟踪器 https://issuetracker.google.com/issues/73534868
它应该在 1.1.0-alpha3 中修复
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)