gpt4 book ai didi

Java反射列表迭代

转载 作者:行者123 更新时间:2023-11-30 05:54:24 25 4
gpt4 key购买 nike

private static Void createTbody(List object) {

Iterator hritr = object.iterator();
while(hritr.hasNext()) {

UserDto users = (UserDto)hritr.next();
users.userId;
users.userName;
}
}

DtoClass::

用户Dto

public class UserDto {

public String userName;
public String userId;

}

在上面的代码中我没有任何问题......

放入我的 createTbody 函数,我在编译时不知道 UserDto 类...它应该是动态类。这个类名我将通过反射获得。

UserDto users = (UserDto)hritr.next();

为什么是因为,private static Void createTbody(List object) 对象可能包含 CustomerDtoUserDto 等列表......

最佳答案

首先,请扔掉你的迭代器。遍历列表更好使用现代语法:

for(Object iterm: listOfObjects)  {}

如果您没有那么多的类,您可以使用 getClass().equals(someClassInQuestion)object instanceof SomeClass 检查类对象

如果你有太多的类(class),就坚持反射(reflection):

object.getClass().getMethod("getFoo",null).invoke(oject);

(代码已简化,您将需要一些防范空值的措施)

关于Java反射列表迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9408419/

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