对于下面的代码,我得到了这个错误:
错误:(26,31)错误:不确定如何将光标转换为此方法的返回类型
@Dao
public interface FriendsDao {
@Query("SELECT * FROM Friends")
Flowable<List<Friends>> getAllFriends();
@Query("select * from Friends")
Observable<List<Friends>> getAllFriendsExample();
}
上面如果我删除getAllFriendsexample()一切都很好,我不明白为什么上面的代码适用于可流动但不适用于可观察。
非常感谢
之所以会出现错误,是因为Room不支持RxJava(1)Observable类型。
对于可观察的查询,Room支持来自RxJava2的LiveData
和Publisher
和Flowable
。
由于您需要它来使用Frodo(来自评论)并且Frodo2有一个错误,因此您的选项是:
Flowable
转换为RxJava1可观察
,以便您可以使用Frodo(v1)由于RxJava 1已达到实时结束状态,因此不推荐使用选项2。
问题内容: 我在项目中创建了一个工厂类,从理论上讲,该类允许我为任何(受支持的)给定类型创建管理器。与管理器进行交互使我可以更改给定类型的某些属性。我面临的问题是,当我尝试为泛型类型创建管理器时,编译器粉碎了我的希望和梦想。 以下代码是我正在使用的简化版本。我尝试创建“ test3Manager”的行将不会编译,并且我试图了解为什么会这样。它下面的线显示了一种“解决方法”,我正试图避免这种情况。
与有界通配符相关的编译器错误 应兼容的不兼容通配符类型
问题内容: 遇到一个错误地使用 而不是 在其代码中的人,它没有显示为编译错误。 是因为 是相同的 ? 问题答案: 没有编译错误,因为它是有效的(尽管相当无用) 一元运算符 ,其使用方式与以下方式相同: Java语言规范中的相关部分是Unary Plus运算符+(第15.15.3节) 。它指定调用一元运算会导致操作数的一元数值提升(第5.6.1节)。这意味着: * 如果操作数是编译时类型的,,,或,
我使用比较器对流进行排序,遇到了一个我不理解的编译器错误。 假设我有以下课程: 我正在创建两个比较器,以按日期对s进行排序,一个按自然顺序,另一个按相反顺序。编译以下代码: 意识到是在上定义的,我想我会尝试以下操作: (对我来说)令人惊讶的是,rev2的代码编译正常,而rev1的代码产生以下错误: 为什么我会收到这些编译器错误?为什么我可以在从构建时有效地规避它们? (如果相关的话,我正在使用Ec
问题内容: 数据输入: 存储过程的相关部分: 错误:将varchar数据类型转换为datetime数据类型导致值超出范围。 这是CONVERT(DATETIME)的唯一调用,并且我不使用CAST 如果我只是直接传递数据,则会插入该行。如果我运行该存储过程,它将超出范围。 问题答案: 在SQL Server中使用的安全日期时间字符串格式为 或。 如果SET DATEFORMAT为dmy,则转换将失败
问题内容: 对于这两个进口; 我收到此错误: 如何解决此错误? 问题答案: 该错误是由您的Eclipse配置引起的。您可以将其减少为警告。更好的是,使用不属于非公共API的Base64编码器。Apache Commons有一个,或者当您已经使用Java 1.8时,请使用。