首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将静态变量从Java转换为Kotlin

将静态变量从Java转换为Kotlin
EN

Stack Overflow用户
提问于 2016-02-01 03:41:47
回答 2查看 22K关注 0票数 26

我正在尝试将以下代码转换为Kotlin,并且仍然保留Java使用的一个类(Foo)。进行这种转换的正确方法是什么?

原始Java:

代码语言:javascript
复制
public class Foo {
   public static final String C_ID = "ID";
   public static final String C_NAME = "NAME";
   public static final String[] VALUES = {"X", "Y", "Z"};

   public static String[] getAll() {
       return new String[] {C_ID, C_NAME};
   }
}

public class Bar {
    public void doStuff() {
        String var1 = Foo.C_ID;
        String[] array1 = Foo.VALUES;
        String[] array2 = Foo.getAll();
    }
}

自动将Foo转换为Kotlin

代码语言:javascript
复制
object Foo {
    val C_ID = "ID"
    val C_NAME = "NAME"
    val VALUES = arrayOf("X", "Y", "Z")

    val all: Array<String>
        get() = arrayOf(C_ID, C_NAME)
}

问题:

Bar类不能再访问C_ID或值(错误:“私有访问”)

如果我把"const“放在C_ID前面,就行了.但我不能对值做同样的事情("const“只能用于原语或字符串)

有没有一种不同的方式(这样Java代码和Kotlin代码都可以访问Foo中的所有内容)?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35118514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档