如何在安卓中将 Kotlin Set 转换为 Java



有如下 kotlin 集代码:

val CITIES_WITH_LOGIN_ENABLED =
setOf<CustomCity>(CustomCity.MUNICH, CustomCity.BERLIN, CustomCity.SAIGON, 
CustomCity.TESTMUNICH, CustomCity.TBILISI)

我想将该代码转换为java,其等效的java代码是什么?

Set<CustomCity> CITIES_WITH_LOGIN_ENABLED = new HashSet<>(
Arrays.asList(
CustomCity.MUNICH, 
CustomCity.BERLIN,
CustomCity.SAIGON,
CustomCity.TESTMUNICH,
CustomCity.TBILISI
)
);
Set<CustomCity> CITIES_WITH_LOGIN_ENABLED = new HashSet<CustomCity>
CITIES_WITH_LOGIN_ENABLED.add(CustomCity.MUNICH);
CITIES_WITH_LOGIN_ENABLED.add(CustomCity.BERLIN);
CITIES_WITH_LOGIN_ENABLED.add(CustomCity.TESTMUNICH);
CITIES_WITH_LOGIN_ENABLED.add( CustomCity.TBILISI);
//TO print your set:
SYstem.out.println(CITIES_WITH_LOGIN_ENABLED);

您可以直接使用构造函数。

Set<CustomCity> CITIES_WITH_LOGIN_ENABLES = new HashSet<>(Arrays.asList(CustomCity.MUNICH, CustomCity.BERLIN, CustomCity.SAIGON, CustomCity.TESTMUNICH, CustomCity.TBILISI));

它等同于 JavaSet,如果你查看setOf()的定义 它的不可变集合仅包含指定的对象,并且该集合是可序列化的。

您可以检查Menu > Tools > Kotlin > Show Kotlin Bytecode > Decompile

您可以使用其序列化HashSet(注意类型(

Set<CustomCity> set = new HashSet<>(Arrays.asList(CustomCity.MUNICH,CustomCity.TBILISI));

最新更新