我只是想

System.out.println("color == " + Color.parseColor("#F5F5F5"));

然后它像
color == -657931

有人知道为什么吗?

最佳答案

首先,parseColor方法将返回十六进制F5F5F5的整数表示,它实际上是FFF5F5F5+颜色的不透明度。
FFF5F5F5的十进制值是4294309365,然后将其转换为整数,该整数将溢出,从而给出该负数。
下面是溢出的一个例子

    int i = (int)4294309365L; //4294309365L the decimal representation of FFF5F5F5
    System.out.println(i); //result: -657931

07-24 17:29