Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中创建这个嵌套javascript数组的等价物_Javascript_Java_Arrays - Fatal编程技术网

如何在Java中创建这个嵌套javascript数组的等价物

如何在Java中创建这个嵌套javascript数组的等价物,javascript,java,arrays,Javascript,Java,Arrays,[[1,2[3]],4]我们可以在Javascript中声明这样的数组,这个数组如何用Java编写?以下内容与我想要的内容类似,但不起作用,因为4不是二维数组。有没有一种方法可以在没有列表的情况下做到这一点 int[][] arrayNestedTest = {{1,2},{3}}; int[][][] arrayNestedTest1 = {arrayNestedTest, 4}; 谢谢您需要最后一个术语位于int[][]中,您可以使用类似 int[][] arrayNestedTest =

[[1,2[3]],4]我们可以在Javascript中声明这样的数组,这个数组如何用Java编写?以下内容与我想要的内容类似,但不起作用,因为4不是二维数组。有没有一种方法可以在没有列表的情况下做到这一点

int[][] arrayNestedTest = {{1,2},{3}};
int[][][] arrayNestedTest1 = {arrayNestedTest, 4};

谢谢

您需要最后一个术语位于
int[][]
中,您可以使用类似

int[][] arrayNestedTest = { { 1, 2 }, { 3 } };
int[][][] arrayNestedTest1 = { arrayNestedTest, { { 4 } } };
System.out.println(Arrays.deepToString(arrayNestedTest1));
输出

[[[1, 2], [3]], [[4]]]

您可以编写包含Int本身或其他节点数组的包装器类:

class Node {
  Integer value;
  Node[] children;
  Node(Node[] ...children) { this.children = children; }
  Node(Integer value) { this.value = value; }
}
因此,您可以将其构建为:

Node nested = new Node(
  new Node( new Node(1), new Node(2), new Node( new Node(3) ) ),
  new Node(4)
);

但是现在使用这些节点真的很复杂。

不,这在Java中不起作用。为什么需要这样做?不幸的是,
Java
不能这样工作。你的问题是一个问题。告诉我们你想解决什么问题,而不是寻求解决方案的帮助,这似乎不是正确的方法。根据@JonasW.的回答,这太复杂了。我的建议是不要选择
Java
,我想除非你想让你的生活复杂化,否则我也想知道为什么这被否决了,这似乎是个好答案?