java 泛型高手 请进?
泛型函数1 :
public static <T extends BaseBlob> List<T> Parse(byte[] data,Class <? extends BaseBlob> classObject) throws Exception
{
....
}
泛型函数2 :
private static <T extends BaseBlob> List<T> ParseComplicatedBlob(T blob,ByteBuffer blobBuff, ArrayList<PrimeDataType> attrList,Class <? extends BaseBlob> classObject) throws Exception
{
byte setsCount= Byte.parseByte(blob.GetDataValue(blob.values.length-2).toString());
Object tmpObject = classObject.getField("subClass").get(classObject);
Class subClass = (Class)tmpObject;
tmpObject = subClass.getField("blobLen").get(subClass);
int subClassLen = Integer.parseInt(tmpObject.toString());
byte[] subListBuffer = new byte[setsCount*subClassLen];
blobBuff.get(subListBuffer,0,setsCount*subClassLen);
BaseBlob.<????>Parse(subListBuffer,subClass); //????
基类 BaseBlob 子类 BlobDBSet11 ,BlobBI
已知在其他地方传进来了T 是 BlobDBSet11
而类BlobDBSet11里面有一成员 记录着类BlobBI 的类型信息 (Class型变量),上面先通过反射把此信息取得赋给subClass
现在问号处想调递归函数1,该怎么写? (比如此时subClass 为 BlobBI 那么问号处写好后就相当于这样的功能:
BaseBlob.<BlobBI>Parse(subListBuffer,subClass);
但不能直接写这个参数为BlobBI 而是希望通过subClass 得到,
怎么写?????????????
能实现么?
}