Re: [問題] generic type parameter bound?

看板java作者 (邀怪)時間16年前 (2009/05/04 02:34), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串6/8 (看更多)
※ 引述《TsaiCF (Feng)》之銘言: : : class A<T extends Object> { } // OK : : class B<T extends Object[]> { } // compile-time error : 我想是若 <T> = String[] : void foo(T x){ : ???? y = x[0]; // ==> 無法判定????是什麼型別. : } Mmm... 可是以 Java 的 array 來說, 應該是可以判定的吧? 若 T extends Object[], 則 memberOf(T) 一定 extends Object... 所以如果這樣寫: class Foo<T extends Bar[]> { void func(T x) { Bar b = x[0]; // memberOf(T) extends Bar } } 雖然現在的 Java 不允許, 但是 compiler 應該是可以判定型別的正確性才對阿? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.132.21

05/04 08:31, , 1F
那請考慮我舉的第二個錯誤例. class C<T[]> { }
05/04 08:31, 1F

05/04 10:29, , 2F
不懂耶, 可以請你解釋一下嗎?
05/04 10:29, 2F
文章代碼(AID): #19_UEOOE (java)
討論串 (同標題文章)
文章代碼(AID): #19_UEOOE (java)