我试图存储" 0xFF000000"与Java中的整数相似。如果我声明一个像headerBackgroundColor = 0xFF000000
这样的值,那么一切正常。但是当我通过
0xFF000000
的json字符串时
Integer.decode(jsonObject.getString("HeaderBackgroundColor"));
Integer.parseInt(jsonObject.getString("HeaderBackgroundColor"));
我收到此错误 - java.lang.NumberFormatException: Invalid int: "0xFF000000"
我检查了json中的值是否正确,并且它是一个有效的int值。我不知道为什么String不能正确解析...
谢谢
答案 0 :(得分:2)
由于您正在分析颜色,请尝试使用适合该任务的工具 - > Color
类有方法:
public static int parseColor(String colorString)
和文档说(link):
支持的格式包括:#RRGGBB #AARRGGBB'红色','蓝色','绿色','黑色',&#39 ; white',' grey',' cyan',' magenta',' yellow',' lightgray' ,' darkgray'。
如果您无法改变JSON的构建方式,请在解析之前将0x
替换为#
。