public class VitalCompare implements Comparator<VitalReportsDetails> {
@Override
public int compare(VitalReportsDetails vitalReportsDetails, VitalReportsDetails t1) {
int n1 = Integer.parseInt((vitalReportsDetails.getValue().equals("") ? "0" : vitalReportsDetails.getValue()));
int n2 = Integer.parseInt((t1.getValue().equals("")? "0" : t1.getValue()));
if (n1 >= n2) {
return 1;
}
return -1;
}
}
这样打电话:
int min=Integer.parseInt(Collections.min(listOfData, new VitalCompare()).getValue());
logcat的
8-07 11:17:49.604 27972-27972/com.cognistrength.caregiver E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.cognistrength.caregiver, PID: 27972
java.lang.NumberFormatException: Invalid int: ""
at java.lang.Integer.invalidInt(Integer.java:138)
at java.lang.Integer.parseInt(Integer.java:358)
at java.lang.Integer.parseInt(Integer.java:334)
at com.cognistrength.caregiver.adapters.VitalGraphAdapter.onBindViewHolder(VitalGraphAdapter.java:123)
at com.cognistrength.caregiver.adapters.VitalGraphAdapter
答案 0 :(得分:3)
你得到“”,因为该值是该列表中的最小值(比较器说明了这一点)。你可以通过简单的电话处理
String temp = Collections.min(listOfData, new VitalCompare()).getValue();
int min = Integer.parseInt(temp.equals("") ? "0" : temp);
答案 1 :(得分:1)
也许你可以使用:
vitalReportsDetails.getValue().equals("") || vitalReportsDetails.isEmpty() ? "0" : vitalReportsDetails.getValue()
答案 2 :(得分:1)
java.lang.NumberFormatException:无效的int:&#34;&#34;
<强> NumberFormatException 强>
抛出以指示应用程序已尝试转换a 字符串到其中一个数字类型,但字符串没有 适当的格式。
int n1 = Integer.parseInt((vitalReportsDetails.getValue().equals("") ? "0" : vitalReportsDetails.getValue()));
int n2 = Integer.parseInt((t1.getValue().equals("")? "0" : t1.getValue()));
来自 n1 & n2
的问题。 调试两者。
语句 [Either n1 or n2]
会抛出 NumberFormatException ,因为它会生成 String
,无法将其解析为 int
强>
答案 3 :(得分:0)
同样的问题发生在我身上,当字符串以 Float 或 Double 的形式发生时,或者像此错误引发的其他形式的其他形式如果它处于表单中,则会发生这种情况双重或浮动尝试如下方法
float floatstring = FLoat.parseFloat("your_string");
//then
int int1= (int) Math.round(floatstring );
Double
double doublestring = Double.parseDouble("100.22");
//then
int int2= (int) Math.round(doublestring );