假設有一個稱爲實體的接口,有許多類實現它。 我需要創建一個類,該類的每個實例,它集將只包含實現該接口的實體對象,但是從相同實施類,例如 - 如果人與自行車實現接口實體,然後該類的一個實例將只有一個完整的集合,只有Person對象或Bicycle對象,但不能同時存在。 我感謝您的幫助!如何執行只包含實現接口但來自同一個實現類的對象的Collection?
-1
A
回答
0
public class Something<T extends Entity> {
[...]
private Collection<T> entities;
T
將永遠是一個類實現Entity
。您可以在此課程的所有方法中使用T
。
0
如果你真的想這樣做,你可以寫你自己的附加功能,並與類集合中的第一個對象的比較類新的對象。 (如果您的收藏中沒有物品,只是添加它)
void add(Entity ent) {
if (collection == null) {
collection = new Collection<Entity>();
collection.add(ent);
}
else if(ent.getClass().equals(collection.get(0).getClass()) {
collection.add(ent);
}
else {
// wrong class error handling here
}
}
就是這樣的。
+0
你能否提供一些示例代碼? – WhatsThePoint
相關問題
- 1. 如何實現Collection對象
- 2. 自動實現一個接口來封裝現有的實現
- 3. 包含相同接口的類實現接口
- 4. zope.interface.Interface如何實現一個實現另一個接口的對象列表?
- 5. 對象的接口,但約束類型上實現該接口
- 6. 包含類型不實現接口IMessageFilter
- 7. 類設計:類實現接口實現另一個接口
- 8. 實現接口的類和genric對象
- 9. 如何執行子類來實現包含特定值
- 10. 如何聲明一個包含實現接口的類的子類的變量?
- 11. 創建一個接口與基類,而派生類包含自己的實現
- 12. 抽象類實現接口
- 13. Java接口實現對象?
- 14. 實現包含List的Parcelable接口的對象會拋出一個NullPointerException
- 15. 包含通用接口實現實例的Java通用類
- 16. 2類實現相同的接口和一個來自另一個
- 17. 在擴展另一個對象的同時實現RealmModel接口
- 18. 實現並擴展來自不同包的接口
- 19. 如何確定一個對象是實現一個共同的接口
- 20. 實現同一類的子對象
- 21. 如何實現一個接口來處理類型轉換類?
- 22. 在抽象類中實現的方法,但出現在接口
- 23. 如何實現Comparable接口來比較2個對象?
- 24. Java接口:調用一個實現類基於對象類型
- 25. 創建一個實現接口的類
- 26. 如何實現對對象屬性「直接」執行的方法?
- 27. 如何在java中實現一個接口和多個實現類的junit
- 28. 實現只有一個類或更多類的接口
- 29. 實現接口的對象的方法?
- 30. 類實現接口應該能夠只添加同一類
'收集 theCollection'(RESP。'收藏 ...')!?真的,你的問題有點不清楚。 –
Seelenvirtuose
無法通過Java的類型系統(如,你不能保證在列表中的一切都是一個確切的類型,而不是類型的子類,但是你的設計不應該要求你)。您所能做的只是在運行時驗證列表中實例的類型。 –
你可以聲明一個帶有多個邊界的有界類型(''),但我並沒有真正看到這一點。你能分享一些代碼嗎? –