gpt4 book ai didi

java - Intellij Idea IDE 是否具有复合 Java 类的功能(转发类生成)

转载 作者:行者123 更新时间:2023-12-03 18:48:52 27 4
gpt4 key购买 nike

例如,我想扩展 HashSet 类,但我没有扩展该类,而是为我的新类提供了一个引用现有类实例的私有(private)字段。新类中的每个实例方法调用现有类的包含实例上的相应方法并返回结果。这是一种组合和转发方法。

即例如,我希望 IDE 基于 Set 生成 ForwardingSet 类:

public class ForwardingSet<E> implements Set<E> {
private final Set<E> s;

public ForwardingSet(Set<E> s){
this.s = s;
}

public boolean contains(Object o){
return s.contains(o);
}

public boolean isEmpty(){
return s.isEmpty();
}


... and etc.

}

那么,如何在Idea中生成呢?

P.S:类似的问题是 here ,但没有答案。

最佳答案

这可以使用 "Generate delegated method" 来完成特点:

  1. 创建一个仅包含您要委托(delegate)给的字段的基本类:

    public class ForwardingSet<E> implements Set<E> {
    private final Set<E> s;
    }
  2. 在本地s变量后右键点击“生成”

  3. 在弹出窗口中选择“Delegate Methods”,然后是本地s变量

  4. 选择要覆盖的所有内容

  5. (可选)使用复制和替换将 public 替换为 @Override public,然后为文件中的第一个 public 手动删除它,以摆脱在所有覆盖警告中

关于java - Intellij Idea IDE 是否具有复合 Java 类的功能(转发类生成),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49483933/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com