为什么这样做有效:
int[] array = {1, 2, 3};
但这不是:
int[] array;
array = {1, 2, 3};
如果我有一个数组实例变量,并且想在我的构造函数中对其进行初始化,那么我不必走
array = new int[3];
array[0] = 1;
array[1] = 2;
array[2] = 3;
我觉得我在这里想念什么吗?
{...}
这里的构造在Java中称为数组初始化器。这是一个特殊的速记,仅在某些语法构造中可用:
[JLS
10.6数组初始化器](http://java.sun.com/docs/books/jls/third_edition/html/arrays.html#10.6)
一个 初始化器阵列 可被指定在一 声明 ,或作为部分 数组创建表达式
,创建一个数组并提供一些初始值。[…]数组初始值设定项是用逗号分隔的表达式列表,"{"
并用大括号和括起来"}"
。
如指定的那样,您只能在声明中或在数组创建表达式中使用此速记。
int[] nums = { 1, 2, 3 }; // declaration
nums = new int[] { 4, 5, 6 }; // array creation
这就是为什么以下内容无法编译的原因:
// DOES NOT COMPILE!!!
nums = { 1, 2, 3 };
// neither declaration nor array creation,
// array initializer syntax not available
另请注意:
这是一个例子:
int[][] triangle = {
{ 1, },
{ 2, 3, },
{ 4, 5, 6, },
};
for (int[] row : triangle) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
上面的照片:
1
2 3
4 5 6
java.util.Arrays
-有许多阵列相关的实用方法,如equals
,toString
等我正在设计一个网站,有一些h3标题和段落,包装在一个名为“featured-info”的div类中。此外,我还有一个footer元素,它位于主体中的主包装器中。各段用斜体字写成: 并且页脚有边框: 页脚文本也是一个h4向上感知: 主要的问题是我有一个设置:@media screen和(最小宽度:750px),它使一些导航按钮内联,并调整一些文本的大小,但是...当页面大小小于750px时,页脚样式
我正在实现一个应用程序,该应用程序根据曼哈顿距离查找(x,y)平面中给定位置的最近n个事件。我使用最大优先级队列来存储找到的事件,并使用曼哈顿距离比较器。这个队列应该总是有最大人距离事件作为它的窥视,但是我发现这不会一直发生。我在循环中使用pq.poll()打印了这个队列的结果,我发现队列在删除后没有重新排列,只是有时。 我的比较者: 以主方法打印: 输出: 如您所见,事件不是按降序排列的!然而,
问题内容: 当数组包含字符串数据时,我在使用numpy时遇到一些琐碎的麻烦。我有以下代码: 现在,当我使用打印时,得到的响应是,显然不是Cat和Apple的预期输出。为什么会这样,如何获得正确的输出? 谢谢! 问题答案: Numpy要求字符串数组具有固定的最大长度。当您使用创建空数组时,默认情况下会将最大长度设置为1。你看你是否做; 它将显示“ | S1”,表示“一个字符的字符串”。随后的数组分配
下面是两个不同的,一个带有,另一个带有state 当您为这两个打开下拉菜单时,您将注意到for patient showboth和inverted(单击它时,在input字段中输入值)。在State中,它只是简单地显示状态 这些不同行为的原因是什么?我希望输入仅显示的像状态和在&中有不同的数据
为什么在Java中字节的位移位行为是这样的?
问题内容: 无法理解下面的代码中发生了什么。阵列的行为,并为我所期望的那样。但是,这是怎么回事与和?(我也使用普通的标量变量进行了此尝试,在任何情况下都不会发生令人惊讶的事情。) 输出被复制到RH注释。 根据这篇文章,and 的可交换性表示值传递:Java是值传递,该死!。(我还查看了按引用传递的java数组不起作用?,但我听不懂asker的英文,方法调用使示例变得晦涩。) 请注意,与线注释,并表