我希望将颜色对象转换为人类可读的字符串。

为了澄清,我只是在寻找Class的静态变量的转换。

例如。


    颜色:黄色->“黄色”
    Color.RED->“ red”


Color red = Color.RED;
System.out.println(red.conversionMethod());


我想要输出“红色”

预先感谢您的帮助。

最佳答案

充分利用Java反射。此代码提供了有用的输出。您可以通过类似list.remove("BITMASK");的方法从ArrayList中删除不需要的内容

import java.awt.Color;
import java.lang.reflect.Field;
import java.util.ArrayList;

public class Test
{
    public static void main ( String [] args )
    {
        Field [] names = Color.class.getFields();
        ArrayList < String > list = new ArrayList < String >();

        for ( Field name: names )
            list.add( name.getName() );
        for ( int i = 0; i < list.size(); i++ )
            System.out.println( list.get( i ) );
    }
}


输出:


  白色WHITE浅灰色LIGHT_GRAY灰色灰色深灰色DARK_GRAY黑色
  黑色红色红色粉色粉色橙色橙色黄色黄色绿色绿色
  洋红色MAGENTA青色青色蓝蓝色不透明BITMASK透明

10-02 04:49
查看更多