gpt4 book ai didi

java - 将对象实例的所有值添加到列表中

转载 作者:行者123 更新时间:2023-12-02 07:48:54 34 4
gpt4 key购买 nike

假设我有一个包含很多字符串值的“Dog”类,并且我希望将所有这些值都放在一个列表中,是否有比单独添加每个值更好的方法?

例如采用这个虚拟类,请注意,如果重要的话,所有值都是字符串

public class Dog {
private String breed;
private String name;
private String origin;
[...] a lot more

getter and setter methods
}
<小时/>
Dog dog = new Dog([...] bla bla);

是否有比以下更好的方法将实例的所有这些值放入列表中:

public List<String> toList() {
List<String> list = new ArrayList<String>();
list.add(dog.getBreed);
list.add(dog.getName);
list.add(dog.getOrigin);
[...]
return list;

最佳答案

您可以使用反射。

Dog dog = new Dog("val1", "val2", "val3");
List<String> list = new ArrayList<>();
for(Field field: Dog.class.getDeclaredFields()) {
// since fields are private we need to first mark it accesible
field.setAccessible(true);
if( field.getType().equals(String.class)) {
list.add((String) field.get(dog));
}
}

关于java - 将对象实例的所有值添加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58893903/

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