繁体   English   中英

在Java的房间中使用Generic Dao时出错

[英]Getting Error while using Generic Dao in room with java

当我尝试在Android Room中使用Generic Dao时,出现以下错误信息:

不能在查询方法中使用未绑定的泛型。 它必须通过基本的Dao类绑定到一个类型。

import android.arch.lifecycle.LiveData;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Delete;
import android.arch.persistence.room.Insert;
import android.arch.persistence.room.RawQuery;
import android.arch.persistence.room.Update;

import java.util.List;

@Dao
public interface BaseDaoAccess<T> {
    @Insert
    Long Insert(T entity);

    @Update
    void Update(T entity);
    @Delete
    void Delete(T entity);

    @RawQuery
    LiveData<List<T>> RowQuery(String query);

}

由于类型擦除 ,Java无法在运行时告诉您您的意思是T 您可以通过创建将T 绑定到特定类型的子类型来提供此信息,例如:

public interface CarDao extends BaseDaoAccess<Car> { }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM