为了账号安全,请及时绑定邮箱和手机立即绑定

java中<S extends T>S 中的T 怎么定义呢,IDE提示错误

java中<S extends T>S 中的T 怎么定义呢,IDE提示错误

子衿沉夜 2019-03-21 18:15:34
以下这个方法,我想调用,然后在第二个参数传入一个实体类,比如User,然后在方法里面通过反射获取User的属性。parse2Domain(map,new User());不知道这样是不是行得通。但是现在问题是,这个T 编辑器提示错误啊    public <S extends T>S parse2Domain(Map<String,Object> map,S s ){        for (Object m : map.keySet()) {        }        return s;    }
查看完整描述

2 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

你这个可以写成:


    public <T, S extends T>S parse2Domain(Map<String,Object> map,S s ){


        for (Object m : map.keySet()) {



        }


        return s;

    }

但问题你函数里没用到T,所以其实没啥意义,一个典型的用法是:


    public <T, S extends T> void copy(List<T> dest, List<S> src) {

    ...

意味着拷贝的时候源对象应该是目标对象的子类,这样才好拷贝嘛。


查看完整回答
反对 回复 2019-04-23
?
交互式爱情

TA贡献1712条经验 获得超3个赞

在类那里定义的泛型,或者方法入参那里也可以


查看完整回答
反对 回复 2019-04-23
  • 2 回答
  • 0 关注
  • 1059 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号