在学习过程中发现引用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
kotlin-stdlib
, usekotlin-stdlib-jdk7
orkotlin-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