web-dev-qa-db-ja.com

Integer []をint []配列に変換します

整数配列をint配列にキャストする派手な方法はありますか? (各要素を繰り返し処理する必要はありません。エレガントで迅速な記述方法を探しています)

私が使用している他の方法

scaleTests.add(Arrays.stream(data).boxed().toArray(Double[]::new));

私はワンライナーを探していますが、何かを見つけることができませんでした。

目標は次のとおりです。

int[] valuesPrimitives = <somehow cast> Integer[] valuesWrapper
33
Michael

Java 8のストリームAPIを使用できます

int[] intArray = Arrays.stream(array).mapToInt(Integer::intValue).toArray();
51
Vaibhav

Apache commons ArrayUtils の使用を検討できる場合、単純な toPrimitive APIがあります。

public static double [] toPrimitive(Double [] array、double valueForNull)

オブジェクトDoublesの配列をnullを処理するプリミティブに変換します。このメソッドは、null入力配列に対してnullを返します。

6
Juned Ahsan

Guavaを使用すると、次のことができます。

int[] intArray = Ints.toArray(intList);

Mavenを使用している場合、この依存関係を追加します。

<dependency>
   <groudId>com.google.guava</groupId>
   <artifactId>guava</artifactId>
   <version>18.0</version>
</dependency>
2
Janin

Apache langライブラリにアクセスできる場合は、ArrayUtils.toPrimitive(Integer [])メソッドを次のように使用できます。

int[] primitiveArray = ArrayUtils.toPrimitive(objectArray);