[英]Integer.valueOf() invalid int
我正在尝试从 r、g、b 值创建颜色值,并添加 alpha 字节以创建颜色 int。
但是我在使用时遇到错误:
Integer.valueOf(colorStr,16);
colorStr
是我构建的字符串,现在向我发送错误的值是"0XFF2f6b55"
它向我发送了无效的整数。
您的字符串对于带符号的 int 来说太大了 - 它们从-0x80000000
到0x7FFFFFFF
。 尝试:
int i = (int) Long.parseLong(colorStr.substring(2), 16);
这将导致负值int
,这可能不是您想要的。 (使用颜色时,使用红色、绿色、蓝色和 alpha 分量的值元组可能更方便。)
valueOf()
或parseInt()
/ parseLong()
都不会识别0x
前缀,您需要摆脱它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.