我希望用Java編寫一個通用類型安全觀察器。在C++中,我可以很容易地通過使用可變參數模板從C++ 11,像下面這樣做:現在Java中C++ variadic模板的等效代碼
class Observer<typename... T>
{
void update(T... args);
};
,在Java中,我能做的最好的是:
現在,更新不能像C++一樣接受多種不同類型的參數。有人可以提出解決這個問題的辦法嗎?
在此先感謝。
我希望用Java編寫一個通用類型安全觀察器。在C++中,我可以很容易地通過使用可變參數模板從C++ 11,像下面這樣做:現在Java中C++ variadic模板的等效代碼
class Observer<typename... T>
{
void update(T... args);
};
,在Java中,我能做的最好的是:
現在,更新不能像C++一樣接受多種不同類型的參數。有人可以提出解決這個問題的辦法嗎?
在此先感謝。
如果所有的參數擴展/實現牛逼,你可以說:
class Observer<T>{
void update(List<? extends T> args){}
}
這隻會允許'列表
感謝您的建議。我更新了我的答案 –
想到的是創造一個像元組類,所以你不使用可變參數的形式,但組ARGS事先的唯一的事情。但是,這個答案很大程度上取決於使用情況。
沒有一對一的模擬。
我真的不明白你的問題。爲什麼不使用'void update(T ... args);'? – Daniel
並非所有的參數在他的用例中都必須是相同的類型。 –