如何在Java中初始化数组中的所有整数?

如何在Java中初始化数组中的所有整数?,java,multidimensional-array,initialization,Java,Multidimensional Array,Initialization,Java中是否有预定义函数将数组中的所有整数设置为指定值 假设给定了以下数组:byte start[][]=new byte[MAXSUM][rows][N*2]与C/C++ MeMSET(start,-1,sieof(start))< /COD>一个内衬看起来很麻烦……利昂ID不幸的是java不是C++或C++,并且你没有访问数组引用的低级内存。然而,您只需在项目中创建一些静态实用程序方法,然后只要在需要初始化某些内容时调用multiDimensionalFill,问题就解决了。没有人会阻止您

Java中是否有预定义函数将数组中的所有整数设置为指定值

假设给定了以下数组:
byte start[][]=new byte[MAXSUM][rows][N*2]0
,还有什么比
3循环
更好的方法将其初始化为某个常量吗


Arrays.fill()
可以用来初始化一维以上数组中的值吗?

除了循环值之外,没有更好的内置方法来初始化多维数组。

除了循环值之外,没有更好的内置方法来初始化多维数组。

没有,它没有内置的功能,但是使用嵌套for循环看起来应该不会很难看

public static void multiDimensionalFill(byte[][][] start, byte value) {
    for(byte[][] firstdim : start)
        for(byte[] seconddim : firstdim)
            Arrays.fill(seconddim, value);
}

不,没有内置的for循环,但是使用嵌套for循环看起来应该不会很难看

public static void multiDimensionalFill(byte[][][] start, byte value) {
    for(byte[][] firstdim : start)
        for(byte[] seconddim : firstdim)
            Arrays.fill(seconddim, value);
}

数组.fILE()只适用于一维数组

数组。fILE()只对一维数组< /p>与C/C++<代码> MeMSET(start,-1,sieof(start))< /COD>一个内衬看起来很麻烦……利昂ID不幸的是java不是C++或C++,并且你没有访问数组引用的低级内存。然而,您只需在项目中创建一些静态实用程序方法,然后只要在需要初始化某些内容时调用
multiDimensionalFill
,问题就解决了。没有人会阻止您使用一维数组并只调用数组。请填充这些方法,然后每次访问都从1维转换为n维。这是在和一个更大但会“起作用”的更大的人交换一个小冲突。)您知道Java库不提供此功能的原因吗?特别是对于简单类型,它将非常有用,并且可能编写更高效的库实现。与C/C++<代码> MeMSET(start,-1,sieof(start))< /Cult>一个内衬看起来确实很麻烦……利奥尼德不幸的是java不是C++或C++,并且您没有访问数组引用的低级内存。然而,您只需在项目中创建一些静态实用程序方法,然后只要在需要初始化某些内容时调用
multiDimensionalFill
,问题就解决了。没有人会阻止您使用一维数组并只调用数组。请填充这些方法,然后每次访问都从1维转换为n维。这是在和一个更大但会“起作用”的更大的人交换一个小冲突。)您知道Java库不提供此功能的原因吗?特别是对于简单类型,它将非常有用,也许可以编写更高效的库实现。