当前位置: 首页 > 知识库问答 >
问题:

为什么不能初始化Map?[重复]

壤驷子安
2023-03-14

我想存储一组int/String值,但是ints不一定是增量的,这意味着数据可以是:

<1, "first">, <3, "second">, <9, "third">. 

因此,我试图创建一个c#等价的字典

private Map<int, String> courses;

谁能告诉我这是为什么?创建一个对象作为intString的占位符,然后使用数组来存储它们,这是一个很好的替代方案?


共有1个答案

史劲
2023-03-14

不能将基元类型用作泛型类型参数。

使用

private Map<Integer, String> courses;

请参阅此处有关泛型的更多限制。

Dev的贡献:JLS指定只有引用类型(和通配符)可以用作泛型类型参数

 类似资料:
  • 问题内容: 我有这个代码: 这会导致编译错误:可能尚未初始化,这很公平。 现在,我将代码更改为: 我得到同样的编译错误!我必须初始化为null: 那么,不初始化对象和初始化为null有什么区别?如果我声明一个没有初始化的对象,它是否为null? 谢谢 问题答案: 字段(成员变量)被初始化为(或初始化为默认的原始值,如果它们是原始的) 局部变量未初始化,您有责任设置初始值。

  • 我确实读过这篇文章:https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/ 设置一些上下文:这篇文章是关于容器中的僵尸问题的,它试图说服我们这是一个真正的问题。 总的来说,我有复杂的感觉。为什么这很重要?毕竟,即使是在conainer主机操作系统中的僵尸能够释放/杀死这个僵尸的情况下。我们知道容

  • 我遇到了一个有趣的问题,我不明白发生了什么: 据我所知,我提供的单个整数参数可以解释为使用参数调用构造函数,也可以解释为使用初始化列表的构造函数。似乎只有当我提供左值时才调用initialiser_list构造函数,但当我提供r-value(至少是文字)时,构造函数。为什么会这样? 这也意味着: 结果仅为大小为1的向量; 结果是一个大小为num\u元素的向量,但我认为应该避免这种初始化,因为偶尔会

  • 报价王 JLS #8.1.3: 内部类不能声明静态初始值设定项 (§8.7)...... 这表现为: 现在既然Java的内部(非静态)类像其他类一样由类加载器加载,为什么我们不能为它们提供静态初始化器呢? 这一限制背后的原因是什么?

  • 本文向大家介绍为什么要初始化 CSS 样式相关面试题,主要包含被问及为什么要初始化 CSS 样式时的应答技巧和注意事项,需要的朋友参考一下 因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对 CSS 初始化往往会出现浏览器之间的页面显示差异。 当然,初始化样式会对 SEO 有一定的影响,但鱼和熊掌不可兼得,但力求影响最小的情况下初始化。 最简单的初始化方法是:*{padding: