看板 java 關於我們 聯絡資訊
※ 引述《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
TsaiCF:那請考慮我舉的第二個錯誤例. class C<T[]> { } 05/04 08:31
macbuntu:不懂耶, 可以請你解釋一下嗎? 05/04 10:29