列表让每个对象的属性列表时,我有一个看起来像这样几个对象:的Java代码,防止重复从对象
class PhoneNumber
{
String getNumber();
String getExtension();
DateTime getLastCalled();
}
class Address
{
String getCity();
string getState();
int getZip();
}
我希望能够采取的列表任何一个这些对象并获得特定属性的列表。如果我要为每个属性编写函数,这是一个简单的操作,但据我了解,很多次重复代码是不好的做法。
所以我希望能够为任一对象的财产做这样的事情:
List<Address> AddressList = getAddresses();
List<String> CityList = getListOfProperties(AddressList, Address.getCity /*<--Instruction as to what property to populate the returned list with */)
我绞尽脑汁想尝试与泛型做到这一点。我甚至不确定这是否可行,但据我了解,使用Java编程语言可以完成很多神奇的事情。
男人,在我放弃并发布这个问题之前,我非常接近类似的东西。太感谢了! – 2010-02-03 21:27:41
您的'ListPropertyGetter'类是通用的,足以对输入项执行任何操作以生成输出项,而不仅仅是获取属性。这通常被称为'map'(除了Linq,它被称为'Select')。 – 2010-02-03 22:15:12