它似乎是整数,但它不能用Integer.parse解析()如何解决它?
int a= Integer.parseInt(lhs.getViewCount());
Caused by: java.lang.NumberFormatException: Invalid int: "6125635424"
at java.lang.Integer.invalidInt(Integer.java:138)
at java.lang.Integer.parse(Integer.java:378)
at java.lang.Integer.parseInt(Integer.java:366)
at java.lang.Integer.parseInt(Integer.java:332)
at com.youtubetracker.adapters.MyChannelListAdapter$1.compare(MyChannelListAdapter.java:46)
at com.youtubetracker.adapters.MyChannelListAdapter$1.compare(MyChannelListAdapter.java:37)
答案 0 :(得分:1)
最大整数范围是2147483647,您正在将6125635424转换为整数。这是异常背后的主要原因。
Long.parseLong(lhs.getViewCount());
将解决您的问题。
答案 1 :(得分:1)
试试这个:
替换:int a= Integer.parseInt(lhs.getViewCount());
用
Long a= Long.parseInt(String.valueOf(lhs.getViewCount()));
答案 2 :(得分:1)
'6125635424'无法存储在Integer中,您需要以Double或Long存储。
试试这个
Long a = Long.parseLong(lhs.getViewCount().toString());
答案 3 :(得分:1)
总是长时间使用BigInteger并浮动。
BigInteger value= new BigInteger(lhs.getViewCount());
您可以将该值转换为int
,long
或float
。
表格Java Doc intValue()
将此BigInteger转换为int。这种转换类似于Java *语言规范5.1.3节中定义的从long到int的缩小原语转换:如果这个BigInteger太大而不适合int,则只返回低位32位。请注意,此转换可能会丢失有关BigInteger值的总体大小的信息,并返回具有相反符号的结果。