String[] keylist = (String[]) counterMap.keySet().toArray(new String[0]); 这句代码啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String[] keylist = (String[]) counterMap.keySet().toArray(new String[0]); 这句代码啥意思相关的知识,希望对你有一定的参考价值。

如题

counterMap.keySet():得到map中key的set集合。
api :T[] toArray(T[] a), 意思是把set转化为a类型的数组,前提是set元素类型和a元素类型一致,否则T就为Object,所以参数new String[0]只是为了传一个String类型的数组,是为了传类型。
最后toArray需要强制转换String[],可见toArray方法生成了Object[]
那么说明counterMap没有加泛型,最好加泛型,就不用强制转换
参考技术A 将 counterMap.keySet()的返回值转换为string数组然后赋值给keylist本回答被提问者采纳

以上是关于String[] keylist = (String[]) counterMap.keySet().toArray(new String[0]); 这句代码啥意思的主要内容,如果未能解决你的问题,请参考以下文章

以错误顺序出现的模拟补丁?

Java Map中数据按照key进行排序

localStorage设置过期时间

找不到方法:'System.Object Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable.get_Item(System.Strin

如何获取字典中的键列表?

Mvc ModelState.isValid为false时,检查时那个字段不符合规则的代码