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

初始化静态数组映射在Java

宇文灿
2023-03-14

尝试初始化变量时遇到问题:

Map<Sentence, Float>[] vectorValueSentences; // this is ok

/* but this is not */ vectorValueSentences = new HashMap<Sentence, Float>()[100];

我搜索了该怎么做,但没有找到。我读到要初始化的对象必须是静态的,但我找不到声明Map静态的方法。

谢谢你的帮助!

共有1个答案

督弘化
2023-03-14
    HashMap<Sentence, Float>[] vectorValueSentences = new HashMap[100];
 类似资料:
  • 这是一个与这篇文章相似的问题。我认为最有希望的答案与模板化静态初始化有关。这是该答案中的类: 用法: 这适用于结构或类以及基类型。我想做的是将其与

  • 问题内容: 哪两个代码片段正确创建并初始化了一个int元素的静态数组?(选择两个。) 一个。 B. C。 D. 答案:A,B 在这里即使D看起来是真实的,谁能让我知道为什么D是错误的。 问题答案: 正确答案是1和2(或者用您的符号表示A和B),而且正确的解决方案是: 解决方案D不会自动初始化数组,因为运行时会加载该类。它只是定义了一个静态方法(init),您必须在使用数组字段之前调用该方法。

  • 问题内容: 这是一段Java代码: 它如何编译?初始化后已执行变量“ ture”的声明。据我所知,静态块和字段已经按照它们出现的顺序执行了。 现在,为什么实例块中的值9已被打印3次?顺便说一句,该类的实例已创建了3次。那不是功课,我正在学习Java进行认证。 问题答案: 关于第一个问题,静态块确实按照它们出现的顺序进行处理,但是在处理静态块之前,先处理声明。声明作为类 准备工作 的一部分(JLS§

  • 问题内容: 据我了解,“静态初始化块”用于设置静态字段的值(如果无法在一行中完成的话)。 但是我不明白为什么我们需要为此设置一个特殊的块。例如,我们将字段声明为静态(无值分配)。然后编写几行代码,生成并为上面声明的静态字段分配一个值。 为什么我们需要在这样一个特殊的块这样的行:? 问题答案: 在非静态块: 每次构造类的实例时被调用。在静态块只被调用一次,当类本身初始化,无论该类型的有多少对象创建。

  • 问题内容: 我想知道为什么默认情况下C,C ++和Java中的确切静态变量初始化为零?为什么对局部变量不是这样? 问题答案: 为什么要对静态变量进行确定性初始化而对局部变量不进行初始化? 了解如何实现静态变量。 它们的内存在链接时分配,并且它们的初始值也在链接时提供。 没有运行时开销。 另一方面,用于局部变量的内存是在运行时分配的。堆栈必须增长。你不知道以前在那里。如果需要,可以清除该内存(将其清

  • 问题内容: 我正在尝试发现初始化发生的顺序,或者更确切地说,为什么要按此顺序进行初始化的原因。给定代码: 输出: 但是,将的声明移动到初始化块之前会产生: 而且我完全不知道为什么会以这种顺序发生。此外,如果我在的声明中消除了关键字,则init块和构造函数均不会触发。谁能帮我这个忙吗? 问题答案: 我认为您只是缺少JLS的12.4.2节,其中包括: 接下来,以文本顺序执行类的类变量初始化器和静态初始