有如下 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));