我只是想
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