java.awt.color到java.lang.string的转换

java.awt.color到java.lang.string的转换,java,Java,我想将java.awt.color对象转换为字符串 Color c = new Color(255,0,0); System.out.print(Color.toString); 它打印java.awt.Color[r=255,g=0,b=0] 现在我想解析这个字符串并解码颜色名称,例如蓝色等 我在想有没有其他方法可以直接把这个颜色转换成字符串 提前谢谢 编辑:我想将此颜色值存储在数据库中。我应该将其存储为字符串还是RGB值?否。至少因为: 很少有rgb组合具有颜色名称 java并不是在所有

我想将java.awt.color对象转换为字符串

Color c = new Color(255,0,0);
System.out.print(Color.toString);
它打印java.awt.Color[r=255,g=0,b=0]

现在我想解析这个字符串并解码颜色名称,例如蓝色等

我在想有没有其他方法可以直接把这个颜色转换成字符串

提前谢谢

编辑:我想将此颜色值存储在数据库中。我应该将其存储为字符串还是RGB值?

否。至少因为:

  • 很少有rgb组合具有颜色名称
  • java并不是在所有支持语言环境的语言中都拥有颜色名称
但你可以做其他事情。获取
Color
中的预定义常量,并检查其中是否有与给定颜色相同的RGB。如果是,请打印姓名


至于您添加的问题,请将其存储为RGB值而不是字符串。

您可以使用方法
getRed()
getBlue()
getGreen()
getAlpha()
来获取颜色的组件,而不是解析从
toString()
返回的字符串。您还可以将颜色与java.awt.color中的静态字段进行比较(使用
Equals

您必须从商定的颜色名称列表开始,例如。然后构建一个
映射)
从中获取名称。

您可以使用HTML4 basic和extends color关键字。他们应该可以使用如下表格直接从rgb值中获取:

为什么要获取组件?例如
Color.blue.equals(新颜色(0,0,255))
。我的意思是,获取颜色的组件,而不是解析从
java.awt.Color.toString()返回的字符串。
“我应该将其存储为字符串还是RGB值?”肯定是后者。