java中用于内部类的泛型类型

时间:2014-04-10 05:11:58

标签: java

我有一个带泛型类型参数的抽象类,但似乎内部类无法访问此类型:

public abstract class DataProcessor<T> {

    protected interface CallBack {
        List<T> parse(String response) throws ServerException, JSONException;// error
    }
}

有什么问题?


更新

用法:

public class XProcessor extend DataProcessor<X>{
}
public class YProcessor extend DataProcessor<Y>{
}

XProcessor xp=new XProcessor();
YProcessor yp=new YProcessor();

xp.setCallback(new DataProcessor.CallBack<X>(){
    ....
});

但是我认为,因为XProcessor已经在定义的类中定义了X,所以我想知道我是否可以忽略这样的泛型参数:

xp.setCallback(new XProcessor.CallBack(){ //without specify the generic type 
    .....
});

1 个答案:

答案 0 :(得分:2)

你不可能有意。为避免编译错误,请将类型参数添加到Callback接口。

public abstract class DataProcessor<T> {

    protected interface CallBack<T> {
        List<T> parse(String response) throws ServerException, JSONException;
    }
}