[J2SE] 看不懂一段泛型
http://dl.dropbox.com/u/6319790/2012JavaTWOLambda.zip
這是良葛格的ppt
裡頭第15頁的compose函式是這樣定義的
static <A, B, C> Func<A, C> compose(final Func<A, B> f, final Func<B, C> g) {
return new Func<A, C>() {
public C apply(A x) {
return g.apply(f.apply(x));
}
};
}
其中Func是一介面 有一apply方法
請問紅字的<A, B, C>指的是什麼意思? 要查也不知道要用甚麼關鍵字
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.178.97
推
12/27 17:52, , 1F
12/27 17:52, 1F
→
12/27 17:54, , 2F
12/27 17:54, 2F
我想問的是 如果把<A, B, C>去掉 程式會沒辦法運作嗎?
推
12/27 18:09, , 3F
12/27 18:09, 3F
→
12/27 18:10, , 4F
12/27 18:10, 4F
→
12/27 18:13, , 5F
12/27 18:13, 5F
→
12/27 18:13, , 6F
12/27 18:13, 6F
推
12/27 18:17, , 7F
12/27 18:17, 7F
→
12/27 18:17, , 8F
12/27 18:17, 8F
懂了.但不太懂為什麼Java語言一定要特別在前面多加註<A, B, C>
如果設計成不用加註不是可以讓人少打一些字嗎?
→
12/27 18:26, , 9F
12/27 18:26, 9F
推
12/27 18:27, , 10F
12/27 18:27, 10F
我想問的是為什麼Java不設計成即使不加<A, B, C>也能編譯通過
推
12/27 18:29, , 11F
12/27 18:29, 11F
→
12/27 18:30, , 12F
12/27 18:30, 12F
我知道我的盲點了 謝謝
如果設計成void copy (List<T> a,List<? extends T> b)也能通過編譯
那這樣函式中就沒有辦法宣告型態為S的變數
→
12/27 18:31, , 13F
12/27 18:31, 13F
推
12/27 18:35, , 14F
12/27 18:35, 14F
※ 編輯: coolcomm 來自: 114.43.181.128 (12/27 18:49)