cannot case java.lang.object[] to java.lang.integer[]

it2026-03-06  3

在使用java的toArray()方法时出现异常,异常信息为:cannot case java.lang.object[] to java.lang.integer[]

上源码

public static Integer getAQI(Map<String,Double>map){ List<Integer> integers=new ArrayList<>(); for(String key:map.keySet()){ String str=calculateAirQualitySubIndex(key,map.get(key)); if(str==null){ integers.add(0); }else{ integers.add(Integer.getInteger(str)); } } return maxIAQI((Integer[])integers.toArray()); }

改为如下后正常:

public static Integer getAQI(Map<String,Double>map){ List<Integer> integers=new ArrayList<>(); for(String key:map.keySet()){ String str=calculateAirQualitySubIndex(key,map.get(key)); if(str==null){ integers.add(0); }else{ integers.add(Integer.getInteger(str)); } } return maxIAQI(integers.toArray(new Integer[integers.size()]));//此处调整 }

 

 

最新回复(0)