我可以在Kotlin中使用字符串访问枚举属性吗?

发布于 2025-02-04 03:00:41 字数 249 浏览 2 评论 0原文

我有这样的区域的枚举:

enum class Regions(val location:String){
   REGION_1("London"),
}

有没有一种方法可以使用以下功能中的字符串访问区域_1的属性?

fun access(name:String){
    return Regions.<modifed_name>.location 
}

I have an enum of regions like this:

enum class Regions(val location:String){
   REGION_1("London"),
}

Is there a way to access the properties of region_1 with just a string like in the below function?

fun access(name:String){
    return Regions.<modifed_name>.location 
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

只涨不跌 2025-02-11 03:00:41

您可以使用valueof(value:string)将字符串转换为枚举,然后使用该位置

fun access(name:String): String = Regions.valueOf(name.uppercase()).location 

You can convert your string to enum using valueOf(value: string) and then use the location

fun access(name:String): String = Regions.valueOf(name.uppercase()).location 
玩物 2025-02-11 03:00:41
enum class Regions(val location: String) {
  REGION_1("London"),
  REGION_2("Berlin"),
  REGION_3("Pairs")
}

fun access(name:String): String {
  return Regions.values().firstOrNull() { it.name == name }?.location ?: "location not found"
}

println(access("REGION"))     // Output: location not found
println(access("REGION_2"))   // Output: Berlin
enum class Regions(val location: String) {
  REGION_1("London"),
  REGION_2("Berlin"),
  REGION_3("Pairs")
}

fun access(name:String): String {
  return Regions.values().firstOrNull() { it.name == name }?.location ?: "location not found"
}

println(access("REGION"))     // Output: location not found
println(access("REGION_2"))   // Output: Berlin
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文