列表讓每個對象的屬性列表時,我有一個看起來像這樣幾個對象:的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