私は持っている
public class Entity
どの作品クラスで:
public class Table<Target extends Entity>
{
public boolean save (Target target)
public Target load (int id)
}
テーブルクラスのこのオブジェクトをデータベースクラスマップに配置するまで、すべて問題ありませんが、
public class Database
{
public String name;
public Map<String, Table<? extends Entity>> tables = new HashMap <String, Table<? extends Entity>> ();
public Context context;
public int version;
public Database (Context context, int version)
{
this.context = context;
this.version = version;
}
public void add (Table<? extends Entity> table)
{
tables.put(table.name, table);
}
public Table <? extends Entity> table (String name)
{
return (Table<? extends Entity>) tables.get(name);
}
}
私たちが持っていると仮定します:
public class Apple extends Entity
このコードを機能させたい:
//init
database = new Database(getBaseContext(), 4);
new Table<Apple> (database, Apple.class);
//this is where solution need occurs !
database.table("apples").save (new Apple("green apple"));
型 Table(capture#1-of ? extends Entity) のメソッド save(capture#1-of ? extends Entity) は引数に適用されません (注)
map.get メソッドを機能させるには?