Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 如何将整数[]转换为整数[]?_Java - Fatal编程技术网

Java 如何将整数[]转换为整数[]?

Java 如何将整数[]转换为整数[]?,java,Java,我正在编写第二种形式的代码,需要修改数组的读取方式。由于对Java了解不够,我宁愿转换,也不愿冒bug的风险。您可以使用ArrayUtils.toPrimitivearray 如果出于某种原因,您不想包含commons lang,下面是该方法的代码。但是,只包含依赖项是一个更好的选择——它有许多额外的功能,您最终将需要这些功能 // how to convert this Integer[] array = {1, 2}; // to this int[] array = {1, 2}; 您

我正在编写第二种形式的代码,需要修改数组的读取方式。由于对Java了解不够,我宁愿转换,也不愿冒bug的风险。

您可以使用ArrayUtils.toPrimitivearray

如果出于某种原因,您不想包含commons lang,下面是该方法的代码。但是,只包含依赖项是一个更好的选择——它有许多额外的功能,您最终将需要这些功能

// how to convert this
Integer[] array = {1, 2};

// to this
int[] array = {1, 2};
您可以使用ArrayUtils.toPrimitivearray

如果出于某种原因,您不想包含commons lang,下面是该方法的代码。但是,只包含依赖项是一个更好的选择——它有许多额外的功能,您最终将需要这些功能

// how to convert this
Integer[] array = {1, 2};

// to this
int[] array = {1, 2};

我不确定您期望的bug是什么,两者之间几乎没有区别。转换的一种方法是:

public static final int[] EMPTY_INT_ARRAY = new int[0];

public static int[] toPrimitive(Integer[] array) {
    if (array == null) {
       return null;
    }
    if (array.length == 0) {
       return EMPTY_INT_ARRAY;
    }
    int[] result = new int[array.length];
    for (int i = 0; i < array.length; ++i) {
        result[i] = array[i].intValue();
    }
    return result;
}

我不确定您期望的bug是什么,两者之间几乎没有区别。转换的一种方法是:

public static final int[] EMPTY_INT_ARRAY = new int[0];

public static int[] toPrimitive(Integer[] array) {
    if (array == null) {
       return null;
    }
    if (array.length == 0) {
       return EMPTY_INT_ARRAY;
    }
    int[] result = new int[array.length];
    for (int i = 0; i < array.length; ++i) {
        result[i] = array[i].intValue();
    }
    return result;
}

从。如果您不想使用外部依赖,那么我认为您必须使用自己的。如果您不想使用外部依赖,那么我认为您必须使用自己的

+1,尽管我建议只使用commons lang,而不是使用此处概述的方法,尤其是在项目仍在增长的情况下。我总是像这样复制代码,而不是使用commons lang,但是随着代码库的增长,我不可避免地复制了其他方法,直到我可以从一开始就包含它。如果您发现以后需要删除依赖项,并且它只使用这一种方法,那么这不会太难,但我建议将其保留。许多项目依赖于commons lang,这是有充分理由的@berry120——事实上,我非常赞成加入下议院的朗朗或番石榴。我会更强调这一点。如果这是commons lang中的实际代码,难道你不应该至少参考版权许可证吗?@Ishtar-这是从我的反编译器反编译并由我格式化的代码:我想这足以说明代码的来源。这不是什么火箭科学,我本来可以写的,但只是节省了一些时间。而且许可证头相当长,这会让答案看起来很糟糕。+1,尽管我建议只使用commons lang,而不是使用这里概述的方法,尤其是在项目仍在增长的情况下。我总是像这样复制代码,而不是使用commons lang,但是随着代码库的增长,我不可避免地复制了其他方法,直到我可以从一开始就包含它。如果您发现以后需要删除依赖项,并且它只使用这一种方法,那么这不会太难,但我建议将其保留。许多项目依赖于commons lang,这是有充分理由的@berry120——事实上,我非常赞成加入下议院的朗朗或番石榴。我会更强调这一点。如果这是commons lang中的实际代码,难道你不应该至少参考版权许可证吗?@Ishtar-这是从我的反编译器反编译并由我格式化的代码:我想这足以说明代码的来源。这不是什么火箭科学,我本来可以写的,但只是节省了一些时间。许可证头很长,这会让答案看起来很糟糕。嗯,这需要一个集合,他需要一个arrayInts.ToArrayArray.asListInteger[]数组才能完成。嗯,这需要一个集合,他需要一个arrayInts.ToArrayArray.asListInteger[]数组。装箱值的bug最常见的来源可能是它们可以为null,而原语不能。这可能会在意外的地方导致NullPointerException。装箱值错误的最常见来源可能是它们可以为null,而原语不能。这可能会在意外的位置导致NullPointerException。的可能副本的可能副本