泛型函数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 得到, 怎么写????????????? 能实现么?}
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 得到, 怎么写????????????? 能实现么?}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货