JvmTarget 和 JavaVersion 如何转换?

问题描述 投票:0回答:1

在我的项目中,我需要将 JVM 版本分配为不同类型:

为了保持项目的可维护性,我喜欢在“单一位置”定义 JVM 版本。因此,我想 (1) 在不同类型之间进行 convert 或 (2) 从整数创建 JvmTarget

 实例和 
JavaVersion
 实例 
伪代码(一)

JvmTarget.fromInteger(11) // JvmTarget.JVM_11 JavaVersion.fromInteger(11) // JavaVersion.VERSION_11

JvmTarget

类中

fromTarget(String)
已经存在。
伪代码(2)

JvmTarget.ofJavaVersion(JavaVersion.VERSION_11) // JvmTarget.JVM_11 JavaVersion.ofJvmTarget(JvmTarget.JVM_11) // JavaVersion.VERSION_11


java kotlin gradle jvm
1个回答
0
投票
JvmTarget.fromTarget()

之外,我们还有接受 Java

JavaVersion.toVersion()
Object
,它可以是整数或字符串
1
因此,要从整数定义两者,您可以这样做:

val javaVersionSetting = 21 val jvmTarget = JvmTarget.fromTarget(javaVersionSetting.toString()) val javaVersion = JavaVersion.toVersion(javaVersionSetting)

或者来自字符串,不涉及任何基本类型的转换:

val javaVersionSetting = "21" val jvmTarget = JvmTarget.fromTarget(javaVersionSetting) val javaVersion = JavaVersion.toVersion(javaVersionSetting)


1

如果有一天你想要三个参加聚会,还有JavaLanguageVersion.of(),它具有接受整数或字符串的重载。

    

© www.soinside.com 2019 - 2024. All rights reserved.