如何在JvmTarget与JavaVersion类型之间进行转换?
统一管理JVM版本的两种实现方案
我的项目中需要用两种不同类型指定JVM版本:
org.jetbrains.kotlin.gradle.dsl.JvmTargetorg.gradle.api.JavaVersion
为保证项目可维护性,我希望在单一位置定义JVM版本,因此可以实现以下两种方式之一:(1) 在这两种类型间转换;(2) 通过整数同时创建JvmTarget实例和JavaVersion实例。
方式1:通过整数创建实例
JvmTarget类已存在fromTarget(String)方法,我们可以基于整数实现类似的实例创建逻辑:
JvmTarget.fromInteger(11) // 返回 JvmTarget.JVM_11 JavaVersion.fromInteger(11) // 返回 JavaVersion.VERSION_11
方式2:类型间互相转换
实现两个类型的互转方法,直接基于已有实例生成目标类型:
JvmTarget.ofJavaVersion(JavaVersion.VERSION_11) // 返回 JvmTarget.JVM_11 JavaVersion.ofJvmTarget(JvmTarget.JVM_11) // 返回 JavaVersion.VERSION_11
内容的提问来源于stack exchange,提问作者JJD
相关产品推荐
相关产品推荐

