【问题标题】:Converting between a specific String and Color [closed]在特定字符串和颜色之间转换 [关闭]
【发布时间】:2021-12-08 16:36:22
【问题描述】:

如果给定一个字符串,具体格式为“Color.RED”、“Color.BLUE”、“Color.GREEN”等。如何将它们转换为颜色对象等价物,以及从颜色对象转换为字符串相同的格式?我已经看到如何在整数和 rgb 代码之间进行转换,但不是这种格式。

【问题讨论】:

  • 对于Color 类,您如何以Color.RED 结尾。
  • 您在尝试解决问题时编写了哪些代码?当然,你不会在没有先尝试的情况下提出这个问题,对吧?
  • 我尝试过的所有常见调用都以可以在字符串和颜色之间转换的不同格式结束,正如我上面提到的。但是,我找不到任何方法可以使用 Color._____ 的特定字符串格式来做到这一点。这似乎是我找不到在 String 和 Color 之间转换的唯一格式。

标签: java string colors format tostring


【解决方案1】:

您可能需要对此使用反射。请尝试以下操作:

String value = "Color.RED";
String colorId = value.replace("Color.", "");
Field field = Color.class.getField(colorId);
Color color = (Color) field.get(null);

【讨论】:

  • 它在 Field 实例化上抛出了 NoSuchFieldException。那是 java.lang.reflect.Field 类,对吗?
  • 对不起,我的错。我已经更新了实现。请检查它;)
  • @FoxVocs 有用吗?
猜你喜欢
  • 2017-04-08
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 2012-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-06
相关资源
最近更新 更多