gpt4 book ai didi

java - 如何在 Java 中初始化一个 Float 数组,其形状以 int[] 的形式给出?

转载 作者:行者123 更新时间:2023-12-02 00:51:58 24 4
gpt4 key购买 nike

我想在 Java 中初始化一个 float[][][] 对象。例如,

float[][][] x = new float[1][2][3]

如您所见,默认情况下整数 1、2 和 3 是已知的。现在我有一个 int[] 定义数组的这些数字(维度),例如,

int[] shape = { 1 , 64 , 64 , 3 }

从这个数组中,我如何构建一个像这样的对象

float[][][][] y = new float[1][64][64][3]

注意:shape 对象的长度未预定义。因此,生成的 float[] 对象的尺寸也会有所不同。

How do we dynamically create a float matrix ( like float[][] or even float[][][] ) from a given int[] which defines its shape.

最佳答案

您可以进行反射来创建数组,然后对其进行类型转换以使其有用。

float[][][][] x = (float[][][][]) Array.newInstance(Float.TYPE, shape);

这假设您至少预先知道维数。

如果您不知道这一点,您仍然可以创建数组,但不能再将其转换为静态类型(它将只是一个 Object)。这将使编写使用数组的代码变得困难。

关于java - 如何在 Java 中初始化一个 Float 数组,其形状以 int[] 的形式给出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57850033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com