Java – 类型不匹配:无法从元素类型Object转换为String
我有这个错误:
类型不匹配:无法从元素类型Object转换为String
这是错误的代码:
public List customPrefixes(PermissionUser u) { List returnlist = new ArrayList(); for (String k : u.getAllPermissions().keySet()) { List perms = (List)u.getAllPermissions().get(k); for (String s : perms) { String[] split = s.split("."); if ((split.length >= 3) && (split[0].equalsIgnoreCase("plugin")) && (split[1].equalsIgnoreCase("prefix"))) { returnlist.add(split[2]); } } } return returnlist; }
尝试这个 :
public List customPrefixes(PermissionUser u) { List returnlist = new ArrayList (); for (String k : u.getAllPermissions().keySet()) { List perms = (List )(u.getAllPermissions()).get(k); for (String s : perms) { String[] split = s.split("."); if ((split.length >= 3) && (split[0].equalsIgnoreCase("plugin")) && (split[1].equalsIgnoreCase("prefix"))) { returnlist.add(split[2]); } } } return returnlist; }
您在List声明中缺少"
我觉得你的演员是错的..
什么是u.getAllPermissions()。get(k); 应该回来? 什么东西? 如果是这样,您需要添加通用列表的类型
List perms = (List )u.getAllPermissions().get(k);
如果这不起作用,你也可以尝试
for (Object o : perms) { String s = o.toString(); ..... }
希望有所帮助..如果不回答我的问题,那将更容易提供帮助