最近开始为 android 编程,我遇到了我的一部分代码,我想知道是否可以以更好的方式设计。我有一个SparseArray
Int 的表示 resourceId 到一个名为 的抽象类的包含映射Resource
。当我想检索我的资源时,我的问题就出现了,因为多个类继承自这个类。这个解决方案是否有比我目前尝试将 Resource 对象转换为通用 T 更好的设计。这确实不是那么安全,因为可以使用任何类,而不仅仅是 Resource 固有的类
public <T> T getAsset(int resourceId)
{
try
{
T ReturnAsset = (T)resources.get(resourceId);
return ReturnAsset;
}
catch(ClassCastException cce)
{
Log.w("Resource", "Invalid cast of asset "+cce.toString());
return null;
}
}