
Dart Logo
好了, 各位小伙伴們, 不知不覺我們已進(jìn)入到第6篇. 這篇里我們一起來看一下Dart里的泛型.?
好了, 分隔線后我們進(jìn)入正題.?
Generics:
? ? a.?Using collection literals.用<>來標(biāo)注類型. 都是一樣一樣的.

? ? b. 泛型集合和所含的type. 重要的事情戳三遍!!! 這個(gè)非常要意思, 在Dart中, 泛型是reified. 這個(gè)和Kotlin是一樣的. 但是Java就不一樣了. Java是erasure的. 區(qū)別是什么呢? 在Dart里, 泛型是runtime的. 就是說我們在runtime的時(shí)候, 泛型是跟著list攜帶的. 而Java則不同, 在runtime時(shí), list仍然是list, 然而所攜帶的泛型卻被擦除了. 舉例如下, Dart可以用以下的方法來查list是不是List<String>, 而Java則不可以. 因此Java并不能調(diào)用Kotlin的inline-reified. 額, 扯遠(yuǎn)了.

? ? c. 限定泛型. 我們在define一個(gè)泛型的時(shí)候, 可以限定這個(gè)泛型繼承于某一個(gè)類型.

好了, 今天就到這里了. 與Java相比, Dart里的泛型使用并沒有太大的區(qū)別. 關(guān)鍵是注意List可以在runtime攜帶type.?
下一篇就是我們這個(gè)系列的最后一篇了.?
歐了, 謝謝觀賞, 大家加油!