gpt4 book ai didi

class - 如何保存Kotlin枚举中的类型?

转载 作者:行者123 更新时间:2023-12-02 13:14:17 27 4
gpt4 key购买 nike

我有一个enum,有2种颜色分别代表onoff像素,一种是浅灰色,另一种是深得多的灰色:

enum class Pixel(val state: Color) {
ON (Color(200, 200, 200)),
OFF(Color(50, 50, 50))
}

现在,我有一个自定义的 Image对象,它对应于磁盘上的实际图像,并且 img[x, y](使用 get / set方法)或者返回一个 Color对象,该对象对应于图像中x,y位置的像素颜色,或者接受一个 Color对象将像素设置为该颜色。因此, img[x, y] = Color(50, 50, 50)可以完美地工作。

我希望能够执行 image[x,y] = Pixel.ON/OFF,但是 ONOFF显然是 Pixel类型。

可以做到 image[x,y] = Pixel.ON/OFF怎么达到我想要的效果?我已经使用 ON/OFF作为伴随对象的“静态”成员来工作,但是必须有一种更漂亮,更优雅的方式来做到这一点。

最佳答案

您可以将Pixel设置为拥有object类型的两个属性的单例 Color ,如下所示:

object Pixel {
val ON = Color(200, 200, 200)
val OFF = Color(50, 50, 50)
}

这将为您提供所需的 image[x, y] = Pixel.ON语法,等等。

关于class - 如何保存Kotlin枚举中的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49485031/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com