用于存储 RGB 字符串的枚举 [关闭]

2024-01-29

我以前从未使用过枚举,所以我发现它们非常令人困惑!我想存储大量 RGB 值(作为字符串),并且我认为枚举是最好的选择,而不是列出静态最终字符串负载的类?我正在试验代码,这是到目前为止我所得到的,这是正确的吗? (看起来工作正常)

public enum Colors {
    GREY("142, 142, 147"),
    RED("255, 59, 48"),
    GREEN("76, 217, 100"),
    PURPLE("88, 86, 214"),
    LIGHTBLUE ("52, 170, 220");    //... etc, this is a shorted list

    private Colors(final String string) {
        this.string = string;
    }

    private final String string;

    public String getRGB() {
        return string;
    }
}

public class HelloWorld{
    public static void main(String[] args) {

        String test = Colors.LIGHTBLUE.getRGB();
        System.out.println(test);

    }
}

也许将其更改为以下内容:

public enum Colors {
    GREY(142, 142, 147),
    RED(255, 59, 48),
    GREEN(76, 217, 100),
    PURPLE(88, 86, 214),
    LIGHTBLUE (52, 170, 220);    //... etc, this is a shorted list

    private final int r;
    private final int g;
    private final int b;
    private final String rgb;

    private Colors(final int r,final int g,final int b) {
        this.r = r;
        this.g = g;
        this.b = b;
        this.rgb = r + ", " + g + ", " + b;
    }

    public String getRGB() {
        return rgb;
    }

    //You can add methods like this too
    public int getRed(){
        return r;
    }

    public int getGreen(){
        return g;
    }

    public int getBlue(){
        return r;
    }

    //Or even these
    public Color getColor(){
        return new Color(r,g,b);
    }

    public int getARGB(){
        return 0xFF000000 | ((r << 16) & 0x00FF0000) | ((g << 8) & 0x0000FF00) | b;
    }
}

通过单独存储这三个组件(并作为整数),您可以对它们进行许多有用的操作。

请注意如何轻松地使用其他方法分别提取三个分量(例如将它们作为单个 ARGB 整数进行检索更容易实现)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于存储 RGB 字符串的枚举 [关闭] 的相关文章

  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 加速代码 - 3D 数组

    我正在尝试提高我编写的一些代码的速度 我想知道从 3d 整数数组访问数据的效率如何 我有一个数组 int cube new int 10 10 10 我用价值观填充其中 然后我访问这些值数千次 我想知道 由于理论上所有 3d 数组都存储在内
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O

随机推荐

  • 更改木偶模块源

    我检查了 Puppet 的文档 但没有找到任何有关它的建议 我有木偶模块Monit https forge puppetlabs com dhoppe monit https forge puppetlabs com dhoppe moni
  • 在 watchOS 中使用environmentObject

    我正在尝试使用environmentObject在 watchOS6 应用程序中将我的数据模型绑定到我的视图 我在 Xcode 11 中创建了一个简单的独立 Watch 应用程序 我创建了一个新的DataModel class import
  • WinApi ShellExecuteEx - 在文件列表上使用动词“复制”

    是否可以使用 ShellExecuteEx 复制或剪切给定目录中的一组文件 Windows 函数在单个文件上运行良好 但我在任何地方都找不到有关该主题的任何提示 带有文件列表 我不期望任何替代方法 例如 xcopy 因为在执行特定于 she
  • 哪个版本的 Delphi 可以让我创建在 Mac 上运行的软件?

    我使用 Delphi 去年我从 D5 Enterprise 升级到 Delphi 2010 Professional 有时我会收到电子邮件 询问我何时可以获得可在 Mac 上运行的版本 是否有可以创建在 Mac 上运行的软件的 Delphi
  • crypto.createCipheriv 中的密钥长度无效

    我在 NodeJS v8 11 0 中使用以下代码生成了一个 base64 编码的密钥 const secret shezhuansauce const key crypto createHash sha256 update String
  • HTTP 保活和 TCP 保活

    HTTP Keep Alive 是如何实现的 它内部是否使用 TCP Keep Alive 如果不是 服务器如何检测客户端是死是活 我知道这是一个老问题 但仍然 HTTP Keep Alive 是一项允许 HTTP 客户端 通常是浏览器 和
  • 为什么我不能将常量数组作为参数传递?

    在 C 中 为什么我不能这样做 arrayfn 1 0 2 0 3 0 if arrayfn是一些接受一个类型参数的函数double or double 以哪个为准 尝试这个会给我一个语法错误 有没有一种方法可以在 C 中实现类似的功能 生
  • 使用错误异常处理程序和关闭序列在没有堆栈帧的情况下防止异常

    这一周我遇到了一些小问题 前面的错误消息是关于 2012 年 12 月 30 日 15 19 32 PHP 致命错误 在第 0 行的 Unknown 中没有堆栈帧的情况下抛出异常 我认为这是因为我的错误处理程序 详细信息见下文 正在将任何错
  • 在 Laravel 中使用加密文件(如何下载解密文件)

    在我的网络应用程序中 用户可以上传文件 在保存和存储之前 文件的内容会使用如下方式进行加密 Crypt encrypt file get contents file gt getRealPath 然后我使用 Laravel 自带的文件系统来
  • 使用 pytest 测试多个选项

    我正在尝试测试 Web API 假设一个端点接受多个参数 类型 可能的值为 大 小 中 颜色 可能的值为 黑色 白色 红色 运输 可能值为 1 2 7 我想测试这些的所有组合 以确保 API 返回正确的结果 起初我以为我可以建造 3 个装置
  • 使用值包装器和operator()重载来简化getter/setter设计:危险的做法吗?

    考虑下面的类 class MyClass1 public double x const return x getter double y const return y getter double z const return x y get
  • PHP:如何在一篇文章中向多个设备发送 GCM 通知

    我是一名 Android 开发人员 目前使用 PHP 在 GCM 服务器端工作 从我的客户端 我将 gcm 响应令牌存储在一个数据库中 现在我想一次性向注册用户发送消息 我不知道该怎么做 我完全困惑了 我的简单 HTML 文件是
  • ASP.NET Core (.NET 5) + Angular 11 = 空项目上的构建错误

    If I create a new ASP NET Core Web API Angular project in Visual Studio using dotnet new angular it creates a NET 5 proj
  • XHTML 中所有有效的自关闭元素(由主要浏览器实现)有哪些?

    XHTML 中所有有效的自关闭元素 例如 由主要浏览器实现 有哪些 我知道 XHTML 在技术上允许任何元素自关闭 但我正在寻找所有主要浏览器支持的这些元素的列表 看http dusan fora si blog self ending t
  • 如何在Java中安全地访问数组线程?

    Java 中数组的操作是线程安全的吗 如果不是 如何在 Java 中安全地访问数组以进行读取和写入 使用多个线程更改数组时 不会出现无效状态 但是 如果某个线程编辑了数组中的值 则不能保证另一个线程会看到更改 非易失性变量也会出现类似的问题
  • 获取 a.foreach 不是函数错误

    我正在尝试使用 Angular js 构建一个多选列表 我收到一个奇怪的 TypeError a foreach 不是一个函数 我似乎不知道什么时候发生 js var myAppModule angular module multisele
  • IIS asp.net mvc 部分?上传文件

    鉴于以下代码非常通用 我希望有人能告诉我一些幕后发生的事情 HttpPost public ActionResult Load Guid regionID HttpPostedFileBase file if file ContentLen
  • 如何在另一个C++程序中运行一个C++程序?

    我有一个简单的 C 程序 它接受输入并输出一些字符串 像这样 game what kind of game type r for regular s for special r choose a number from 1 10 1 no
  • 角业力跑步者无限期挂起

    Windows 8 64 位 Node js 0 10 5 64 位 业力 0 8 5 我能够启动 karma 服务器 Chrome 浏览器打开 我将其定义为 karma 配置中的默认浏览器 当我进行 业力奔跑 时 问题就出现了 Chrom
  • 用于存储 RGB 字符串的枚举 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我以前从未使用过枚举 所以我发现它们非常令人困惑 我想存储大量 RGB 值 作为字符串 并且我认为枚举是最好的选择 而不是列出静态最终字符