0
我有更多的.NET背景,所以我在使用Java中需要的通用方法時遇到了一些麻煩。基本上,我有一個基類,稱爲AbstractBase
,我的域對象從中繼承(稱爲它們ClassA
和ClassB
)。我想寫一個方法,返回給定ID的特定類型AbstractBase
。以下是我如何在C#中執行此操作的示例:Java中的通用方法
public T getById<T>(long id) where T : AbstractBase
{
if (T is ClassA)
// find and return object of type ClassA
else if (T is ClassB)
// find and return object of type ClassB
else
return null;
}
我不認爲我的頭腦完全包裝了Java的泛型。像這樣的事情可能與Java有關嗎?最好的方法是什麼?
哦,你這個可憐的C#的靈魂。類型擦除 - 準備哭泣。 –
@KirkWoll:+1我完全同意。 :'( –
泛型代碼的全部觀點是它是「通用的」,即不依賴於類型 – newacct