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

使用泛型将一个对象转换为另一个对象

使用泛型将一个对象转换为另一个对象

湖上湖 2021-10-17 17:00:47
我有两个班级Foo1和Foo2非常相似的领域。我有一个接受Foo1类的转换方法,如下所示public static <T> T convert(IFoo1 foo1, Class<T extends IFoo2> clz) {    T foo2 = clz.newInstance();    // Setter methods    return foo2; }但我收到错误:令牌“扩展”的语法错误,预期类Foo1和Foo2实现接口IFoo1和IFoo2.
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

您得到的错误是因为您的泛型使用了不正确的边界。


将您的方法声明更改为:


public static <T extends IFoo2> T convert(IFoo1 foo1, Class<T> clz) {

    T foo2 = clz.newInstance();

    ....

    return foo2; 

}

您可能已经想到了另一种类型的边界。


查看完整回答
反对 回复 2021-10-17
  • 1 回答
  • 0 关注
  • 332 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信