-2
我看到一個方法Java泛型牛逼延伸ABC
protected <T extends ABC> T save(T Acd, boolean en) {
它應該返回ABC的任何子類型。
在這種情況下,爲什麼不簡單地使用ABC?
protected ABC save(ABC Acd, boolean en) {
我看到一個方法Java泛型牛逼延伸ABC
protected <T extends ABC> T save(T Acd, boolean en) {
它應該返回ABC的任何子類型。
在這種情況下,爲什麼不簡單地使用ABC?
protected ABC save(ABC Acd, boolean en) {
所不同的是在返回值。鑑於Foo extends ABC
。
第一個版本允許你寫
Foo f = save(someFoo, true);
第二個版本將要求您投明確
Foo f = (Foo) save(someFoo, true);
很酷,謝謝。感謝您的快速回復 –
是寫代碼的人決定,它應該是這樣的。 'extend'使得它在某些情況下更加靈活。在這種情況下,通過ABC的T可以讓你使用更具體的(ABC的子類型)返回類型。 – zapl