首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理:函数"toArray()“需要如下参数:"toArray(T[])”

处理:函数"toArray()“需要如下参数:"toArray(T[])”
EN

Stack Overflow用户
提问于 2021-05-31 20:11:40
回答 2查看 63关注 0票数 0

我有一些包含此hashmap的代码(为了简化起见,我删除了除5对之外的所有对):

代码语言:javascript
复制
HashMap<String, Integer> partiesColors = new HashMap<String, Integer>();
{
  partiesColors.put("None", color(0, 0, 0, 0));
  partiesColors.put("KPÖ", color(170, 0, 0));
  partiesColors.put("PILZ", color(128, 128, 128));
  partiesColors.put("Grüne", color(81, 165, 30));
  partiesColors.put("SPÖ", color(227, 30, 45));
};

我正在尝试提取颜色,用下面这行代码将它们组成一个单独的数组:

代码语言:javascript
复制
color[] colorsOnly = partiesColors.values().toArray(new color[partiesColors.size()]);

但Processing (3.5.4)集成开发环境拒绝接受这一点,并用The function "toArray()" expects parameters like: "toArray(T[])"给toArray部分划上红线,尽管拼写与我在网上找到的几个资源完全相同。我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2021-05-31 22:08:14

您可以创建一个数组(ArrayList比数组更灵活)。

代码语言:javascript
复制
ArrayList<Integer> colors = new ArrayList<>();

for(int i = 0; i<=4; i++){

colors.add(partiesColors.get(i))
}

添加链接到索引的HashMap的前5个值。

你也可以尝试这样做:

代码语言:javascript
复制
Object[] colorArray = partiesColors.entrySet().toArray();
票数 0
EN

Stack Overflow用户

发布于 2021-06-01 18:33:32

color是处理集成开发环境提供的用于int的合成糖。

实际上,没有真正的color类型或类;当脚本编译成color时,预处理器会将所有使用的int转换为Java。

因此,您可以交替使用intcolor,这样您的数组就不需要为color类型。

代码语言:javascript
复制
Integer[] colorsOnly = partiesColors.values().toArray(new Integer[partiesColors.size()]);
color col = colorsOnly[0];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67773484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档