我不帶參數創建一個通用的方法,一些事情,如:泛型方法不帶參數
private <T> TableCell<T> createTableCell(){
return new TableCell<T>();
}
所以,在我的程序,如何調用該方法的具體類型?
我不帶參數創建一個通用的方法,一些事情,如:泛型方法不帶參數
private <T> TableCell<T> createTableCell(){
return new TableCell<T>();
}
所以,在我的程序,如何調用該方法的具體類型?
通常,類型推斷的,但你可以指定這個語法類型:
注:您的方法的定義錯誤 - 它沒有返回類型:
private <T> TableCell<T> createTableCell(){
return new TableCell<T>();
}
這裏的你如何稱呼它:
TableCell<SomeType> tableCell = myObject.<SomeType>createTableCell();
如果方法不訪問任何領域,可考慮將其static
甲基OD,你會叫這樣的:
TableCell<SomeType> tableCell = MyClass.<SomeType>createTableCell();
順便說一句,當你使用這個語法,很多人會在你的「eliteness」驚歎 - 這不是經常看到的語法。
因爲類型不能從上下文中推斷出(當調用方法),你必須指定它在如下因素方呼叫時:
obj.<MyType>createTableCell()
其中obj
是一類/類型的對象包含該方法。
其實語法是'obj。
@missingfaktor是的。謝謝。我實際上是在嘗試它,因爲我總是忘記這種情況下的語法......你比我快我 –
@missingfaktor:你是對的。非常感謝。 – Thinhbk
一旦你調用這個方法,它將返回類型T的TableCell,即T保存類的類型 –
你是不是指「返回」而不是「返回」? –
一般來說,當我調用這個方法時,它會返回TableCell