最近アンドロイドのプログラミングを始めたので、コードの一部に出くわしました。より良い方法で設計できるのではないかと思います。とSparseArray呼ばれる抽象クラスへの Int の表す resourceId の包含マッピングがありResourceます。複数のクラスがこのクラスから継承するため、リソースを取得したいときに質問が発生します。ResourceオブジェクトをジェネリックTにキャストしようとする私の現在よりも、このソリューションのより良い設計はありますか
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;
    }
}