閑話Dart精髓語法6--泛型篇

閑話Dart精髓語法5--類與對象篇 - 簡書

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è)系列的最后一篇了.?

歐了, 謝謝觀賞, 大家加油!

閑話Dart精髓語法7--其他篇 - 簡書

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容