css样式的十六进制字符串和Color.decode

pst*_*ton 21 java hex colors

本文建议您可以使用,Color c = Color.decode("FF0096");但这可以理解地引发异常

Caused by: java.lang.NumberFormatException: For input string: "FF0096"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:449)
    at java.lang.Integer.valueOf(Integer.java:528)
    at java.lang.Integer.decode(Integer.java:958)
    at java.awt.Color.decode(Color.java:707)
Run Code Online (Sandbox Code Playgroud)

将"#FF0096"或"FF0096"格式的String转换为java awt Color的最佳方法是什么?

Mat*_*hen 47

Color c = Color.decode("0xFF0096");
Run Code Online (Sandbox Code Playgroud)

要么

Color c = Color.decode("#FF0096");
Run Code Online (Sandbox Code Playgroud)

要么

Color c = new Color(0xFF0096);
Run Code Online (Sandbox Code Playgroud)


cod*_*ict 9

Color.decode方法抛出NumberFormatException异常如果指定的字符串不能被解释为十进制,八进制,十六进制或整数

没有前缀00x将被解释为不起作用的基本10表示的字符串"FF0096" .