线程 "main" java.lang.ArrayIndexOutOfBoundsException 中的异常:映射中的 0

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 in map

我有下一个问题要在 Ubuntu 14.04 中使用 NetBeans 和控制台进行编译:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

我的代码是(在错误行):

Object maxFreK = map.keySet().toArray()[0];

我该如何解决?

谢谢!

java.lang.ArrayIndexOutOfBoundsException : 0 表示您的 数组不包含任何元素。
它是一个空数组。

你可以这样使用:

Object maxFreK=null; 
if (!map.isEmpty()){
  maxFreK = map.keySet().toArray()[0];
}

此异常表明您的地图是空的,并且您正在访问不存在的第一个密钥。在从键集中访问任何元素之前,检查 array/keyset 是否包含元素

例如

Object [] objArr = map.keySet().toArray();
if(objArr.length>0){
   Object maxFreK = objArr [0];
}