【发布时间】:2010-02-03 20:10:28
【问题描述】:
我有几个看起来像这样的对象:
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 编程语言可以完成很多神奇的事情。
【问题讨论】:
标签: java generics code-duplication