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