gpt4 book ai didi

java - 方法接收更多数据类型的列表作为参数

转载 作者:行者123 更新时间:2023-11-29 03:53:02 24 4
gpt4 key购买 nike

我有一个方法,我将列表作为参数发送。该方法如下所示:

public static void setSanctionTypes(List<QueueSueDTO> items) {

for (QueueSueDTO dto : items) {

StringBuffer sb = sanctionTypeRutine(dto.getRegres().getDebtors());

String sanctionType = sb.toString();
dto.setSanctionType(sanctionType);
}
}

我需要将此方法用于不同的列表数据类型参数(例如 setSanctionTypes(List<QueuePaymentDTO> items); 等)。我想作为参数发送的所有类都有方法 getRegres() , 所以 setSanctionTypes() 的内容方法是通用的,可用于我要发送给它的所有这些类。

如果我这样做

public static void setSanctionTypes(List<?> items) {

for (Object dto : items) {

StringBuffer sb = sanctionTypeRutine(dto.getRegres().getDebtors());

String sanctionType = sb.toString();
dto.setSanctionType(sanctionType);
}
}

Object 类型的 dto 不知道 getRegres()。我可以转换为所需的类型,但它只是一种具体类型,不能用于其他参数...

有办法解决我的问题吗?谢谢。

最佳答案

如果您有一个接口(interface)声明了您的 getRegres() 方法,并且您的列表条目实现了它:

public static void setSanctionTypes(List<? extends YourInterface> items) {

for (YourInterface dto : items) {

StringBuffer sb = sanctionTypeRutine(dto.getRegres().getDebtors());

String sanctionType = sb.toString();
dto.setSanctionType(sanctionType);
}
}

有关“泛型”的更多信息:http://download.oracle.com/javase/tutorial/java/generics/index.html

关于java - 方法接收更多数据类型的列表作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7833821/

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