gpt4 book ai didi

java - 关于集合访问器转换的模式

转载 作者:行者123 更新时间:2023-11-30 04:55:58 25 4
gpt4 key购买 nike

如何调用此模式,是否有任何现有的 apache-commons 实用程序:

class Person {
String getName();
}

List<Person> persons = ...;

// create a dynamic bean on the fly, which can be used as:
Object personXxxx = transformListOfBeans(Person.class, persons);
// so each of the bean properties now returns the list of the original property:
List<String> personNames = personXxxx.name;

// i.e. the transformation creates a new "type":
class PersonXxxx {
List<String> getName();
}

如何称呼这种转变?代理应该保留方法签名。所以它不是代理,也不是装饰器。

好吧,我可以简单地将生成的属性名称重命名为复数形式,例如:

personXxxx.names

这没问题。我想知道这种模式是否已知,这样我就不必自己选择合适的单词。

最佳答案

我认为不存在用于此目的的工具。您必须对其进行编码:

List<String> names = new ArrayList<String>(persons.size());
for (Person person : persons) {
names.add(person.getName());
}

也许你可以使用内省(introspection)来更通用,但代码确实很简单。

关于java - 关于集合访问器转换的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8536009/

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