在學習過程中發現引用kotlin依賴版本有kotlin-stdlib、kotlin-stdlib-jdk7
那麼他們到底有什麼差別呢?
1.第一步,百度搜尋、谷歌搜尋
沒有搜到。。。
2.第二部,kotlin官網搜尋
發現一句話
If you're targeting JDK 7 or JDK 8, you can use extended versions of the Kotlin standard library. They contain additional extension functions for APIs added in new JDK versions. Instead of, use
kotlin-stdlib
or
kotlin-stdlib-jdk7
kotlin-stdlib-jdk8
, depending on your JDK version.
翻譯:
如果您的目标是 JDK 7 或 JDK 8,則可以使用 Kotlin 标準庫的擴充版本。它們包含新 JDK 版本中添加的 API 的附加擴充功能。根據您的 JDK 版本,使用 kotlin-stdlib-jdk7 或 kotlin-stdlib-jdk8 代替 kotlin-stdlib
這時看到還有一個jdk8版本,通過上面能了解到kotlin-stdlib是預設版本。jdk7或jdk8是對使用的對應jdk版本的一個擴充。
但是他們到底有什麼差別呢?
3、第三步,看源碼
(1)引用kotlin-stdlib
kotlin-stdlib-jdk7
kotlin-stdlib-jdk8
檢視多出來的包下邊代碼
此時明顯能看出來,jdk7裡面多出來的是有關jdk7的擴充代碼。jdk8對應的是jdk7和jdk8部分的擴充代碼。
4.第四步、尋找如何使用。
沒研究出來。。。有小夥伴知道的告訴我一下,jdk8裡的代碼有一個類
PlatformThreadLocalRandom 不知道 為什麼無法引用。
繼續搜尋,找到一篇文章介紹比較詳細,大家可以參考
https://mbonnin.medium.com/the-different-kotlin-stdlibs-explained-83d7c6bf293