我有多個類,它們都有一個共同的領域。我正在編寫一個處理提取這個公共字段的方法。例如:class A{ .. String blah; ..}class B{ .. String blah; ..}因此,可以使用接受泛型類的方法來實現這一點,而不是為每個類類型編寫多個方法嗎?我想要的是有一種類型的方法:void func(List <T> data){ for(T t:data){ print t.blah() }}我知道上面的代碼是不正確的,但是我們如何獲得類似的功能呢?
1 回答

慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊
首先,創建一個包含所有通用方法簽名的接口。
interface Blah {
String getBlah();
}
然后,創建現有的類A并B實現該接口。(用于@Override確保您正確地覆蓋該方法。)
最后,在 中func,獲取實現該接口的對象列表。
void func(List<? extends Blah> data) {
for (Blah t : data) {
System.out.println(t.getBlah());
}
}
添加回答
舉報
0/150
提交
取消