gpt4 book ai didi

java - 是否可以重构这些方法以避免代码重复?

转载 作者:行者123 更新时间:2023-12-02 06:44:47 24 4
gpt4 key购买 nike

我有一堆类似实用程序的方法,看起来非常相似,例如:

public static void addLeadingAttorney(EventAttorneyModel newAttorney,
List<EventAttorneyModel> existingAttorneys) {
for (EventAttorneyModel existingAttorney : existingAttorneys) {
existingAttorney.setSequence(existingAttorney.getSequence() + 1);
}
newAttorney.setSequence(1L);
existingAttorneys.add(0, newAttorney);
}


public static void addLeadingAttorney(CaseAttorneyModel newAttorney,
List<CaseAttorneyModel> existingAttorneys) {
for (CaseAttorneyModel existingAttorney : existingAttorneys) {
existingAttorney.setSequence(existingAttorney.getSequence() + 1);
}
newAttorney.setSequence(1L);
existingAttorneys.add(0, newAttorney);
}

EventAttorneyModelCaseAttorneyModel 是 JPA 实体,除了 Object 类之外,没有共同的前辈。

我想知道是否有一种方法可以摆脱重复的代码,因为将来会有很多这样的方法?

最佳答案

我认为最好的方法是创建一个界面

interface AttorneyModel{

public void setSequence(Long l);

}

并让 2 个类实现它们,并具有类似的方法签名

public static <T extends AttorneyModel> void addLeadingAttorney(T newAttorney,
List<T> existingAttorneys) {

关于java - 是否可以重构这些方法以避免代码重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18770909/

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