對於這個問題,我們假設可以在java中擴展類String。在下面的代碼:Java - 通用類型
T getId () ;
void setId (T t) ;
}
public class Person implements Identifiable <String> { . . . }
public class Car implements Identifiable <Integer> { . . . }
public class UTFString extends String { . . . }
public class Tourist implements Identifiable <UTFString> { . . . }
Identifiable <Y> z ;
if (. . .) {
z = new Person () ;
} else {
z = new Tourist () ;
}
z.setId(new UTFString(…))
有人問我什麼是正確的類型Y的我知道的Y
類型,應該是:? super UTF-STRING
,意思是:Identifiable <? super UTF-STRING> z
;但爲什麼?正如我所看到的,Persron和Tourist實現了接口UTFSTRING,爲此它應該是? extends UTF-STRING
。我想念什麼?
請問您是否可以更改您的問題,我無法理解一個單詞! – doNotCheckMyBlog 2011-06-15 09:37:08
@krio:我編輯問題。 – Tom 2011-06-15 09:39:59
爲什麼你不提供一個我們不必假設不可能的例子?會使複製和播放更容易。 (這個問題使我無法花時間處理這個問題。) – musiKk 2011-06-15 09:44:26