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

Java泛型用例

Java泛型用例

幕布斯7119047 2021-08-25 10:04:17
我正在尝试在这个用例中使用 Java 泛型,并且在网上找不到任何答案后需要一些帮助来弄清楚如何实现它。这是我的用例....// Interface DevObject   public interface DevObject  {     void addExtension(DevExtension extension);}// Interface DevExtension public interface DevExtension<T extends DevObject> {    void start(T devObject); }然后我创建了两个分别实现 DevObject 和 DevExtension 的类,就像这样......public class MyDevObject implements DevObject {      void addExtension(DevExtension extension) {      }}public class MyDevObjectExtension implements DevExtension<MyDevObject> {     void start(MyDevObject devObject) {     }}但我真正想要做的是使用泛型来修改 DevObject 上的 addExtension 方法,这样它就只能添加具有与实现 DevObject 的类相同的泛型 T 值的 DevExtension 实例。任何帮助,将不胜感激。
查看完整描述

1 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

您正在寻找CRTP:


public interface DevObject<T extends DevObject<T>> { 

    void addExtension(DevExtension<T> extension);

}


public interface DevExtension<T extends DevObject<T>> {

    void start(T devObject); 

}


查看完整回答
反对 回复 2021-08-25
  • 1 回答
  • 0 关注
  • 153 浏览

添加回答

举报

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