当前位置: 代码迷 >> J2EE >> 关于java 中的protected <P, R>解决办法
  详细解决方案

关于java 中的protected <P, R>解决办法

热度:429   发布时间:2016-04-22 01:39:21.0
关于java 中的protected <P, R>
第一个问题
protected <P, R> List<R> execute(Map<P, R> callback, P data) {return null;}
protected List<Object> execute(Map<Object, Object> callback, Object data) {return null;}

二 我写了个简单的程序:但编译不过,求指教!!!!!!!!
Java code
public abstract class TestR {    protected <P, R> List<R> execute(Map<P, R> callback, P data) {        List<R> cc = new ArrayList<R>();        cc.add((R) "sadfw");                return cc;    }}public class TestB extends TestR{    public static void main(String[] args) {        System.out.println("cccc");    }        public void test() {        Map<String, Object> dataMap = new HashMap<String, Object>();        List<String> list = new ArrayList<String>();        execute(dataMap, list);   // [color=#FF0000]报错,类型不匹配,该怎么使用??[/color]    }}


三 关于<P, R>的学习文档,

谢谢大家啦!!

------解决方案--------------------
探讨
二 我写了个简单的程序:但编译不过,求指教!!……

protected <P, R> List<R> execute(Map<P, R> callback, P data) {

Map<String, Object> dataMap = new HashMap<String, Object>();
List<String> list = new ArrayList<String>();
execute(dataMap, list); // 报错,类型不匹配,该怎么使用??

------解决方案--------------------
探讨
第一个问题
protected <P, R> List<R> execute(Map<P, R> callback, P data) {return null;}
protected List<Object> execute(Map<Object, Object> callback, Object data) {return null;}

第一问题是,两者之间的区别
忘写了

------解决方案--------------------
LS已经都说了,LZ只要能理解清楚P,R的关系就好了
protected <P, R> List<R> execute(Map<P, R> callback, P data) {
Map<String, Object> dataMap = new HashMap<String, Object>();
对于Map来说,P是String, R是Object
对于execute方法的参数来说,data要和Map的key的类型一样
execute(dataMap, list); //这里的list和dataMap的key的类型不一样,所以编译失败
也就是,定义和调用的时候,P,R的参数要一致
------解决方案--------------------
楼上都解了,我无话可说了!
  相关解决方案