gpt4 book ai didi

java - 检测类类型并重定向到正确的方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:38 25 4
gpt4 key购买 nike

我有三个类(class):

public AccountTable { void insert(Account account){}}
public CustmerTable { void insert(Customer customer){}}
public TransactionTable { void insert(Transaction Transaction){}}

和一个端点,它接收一个消息类作为插入:

public message {
Entity entity; //after deserialization, becomes Account, Customer or Transaction
String entityName; //contains class of the entity
}

如何重定向到正确的插入方法?我看到的唯一解决方案是使用 istanceOf 进行检查并使用 switch/if,但我认为如果添加更多类,它的可扩展性不会太大,我可以不要更改客户、帐户或交易,因为它们是遗留代码并且对更改非常敏感。

最佳答案

我相信你可以做这样的事情:

public interface Saveable <T> {
void save(T entity);
}

public class AccountSaver implements Saveable<Account> {
void save(Account account){
// ... save account
}
}

public class CustomerSaver implements Saveable<Customer> {
void save(Customer customer){
// ... save customer
}
}

public class TransactionSaver implements Saveable<Transaction> {
void save(Transaction transaction){
// ... save transaction
}
}

关于java - 检测类类型并重定向到正确的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50373048/

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