Java 我可以将注释传递给扩展它的子类吗?
我是个懒惰的人。。。我只想用最简单的方法,现在我正在学习android room。这里可能回答为“”,但它似乎试图将注释传递给另一个注释,对吗?那么,我可以将注释传递给子类吗?例如,这是我的父类“Model”:Java 我可以将注释传递给扩展它的子类吗?,java,inheritance,annotations,android-room,java-annotations,Java,Inheritance,Annotations,Android Room,Java Annotations,我是个懒惰的人。。。我只想用最简单的方法,现在我正在学习android room。这里可能回答为“”,但它似乎试图将注释传递给另一个注释,对吗?那么,我可以将注释传递给子类吗?例如,这是我的父类“Model”: @Entity public abstract class Model implements Parcelable{ @Nullable @PrimaryKey private Object id; public String toJSON(){
@Entity
public abstract class Model implements Parcelable{
@Nullable
@PrimaryKey
private Object id;
public String toJSON(){
return new Gson().toJson(this);
}
public <T> T getId(Class<T>type) {
if(type.equals(Integer.class)||type.equals(int.class)) {
return (T) Integer.valueOf(new Double(Double.parseDouble(String.valueOf(id))).intValue());
}
else if(type.equals(Long.class)||type.equals(long.class)) {
return (T) Long.valueOf(new Double(Double.parseDouble(String.valueOf(id))).longValue());
}
else if(type.equals(Double.class)||type.equals(double.class)) {
return (T) Double.valueOf(id.toString());
}else if(type.equals(UUID.class)){
return (T) UUID.fromString(String.valueOf(id));
}
return type.cast(id);
}
public <T> void setId(T id) {
this.id = id;
}
}
因为我的数据访问对象无法检测我的“Movie”类,除非我添加了实体注释
@Dao
public interface FavMovieDAO {
@Query("SELECT * FROM Movie WHERE id = :movieId")
public Movie find (int movieId);
}
如果没有办法,我将把我的整个模型类声明为一个实体…:/。提前谢谢。如果没有,我想您可能想退房
@Dao
public interface FavMovieDAO {
@Query("SELECT * FROM Movie WHERE id = :movieId")
public Movie find (int movieId);
}