Java Convert int Array to Integer Array - Java 147

Java Convert int Array to Integer Array – Java 147

Java Convert int Array to Integer Array

使用 IntStream.of 、 Arrays.stream 、 Stream.of 、 Apache Commons Lang 、 Guava 等方法進行操作, int 陣列轉換成 Integer 陣列, Java int Array Integer Array 任務是將該 int[] 轉換為 Integer[] ,本篇增加了範例,並透過單元測試來驗證產出結果。

檔案目錄

./
   +- src
       +- test
       |   +- org
       |       +- ruoxue
       |           +- java_147
       |               +- conversion
       |                   +- array
       |                       +- IntArrayToIntegerArrayTest.java   

單元測試

Java int Array to Integer Array 提供 int 陣列轉換成 Integer 陣列等操作。

iteration

使用迴圈轉換成 Integer Array 。

	@Test
	public void iteration() {
		int expectedSize = 5;
		int[] array = { 147, 168, 151, 460, 484 };
		Integer[] integerArray = new Integer[array.length];
		for (int i = 0; i < array.length; i++) {
			integerArray[i] = Integer.valueOf(array[i]);
		}
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}
[147, 168, 151, 460, 484]

IntStream_of

Java int Array to Integer Array 使用 IntStream.of 轉換成 Integer Array 。

	@Test
	public void IntStream_of() {
		int expectedSize = 5;
		int[] array = { 147, 168, 151, 460, 484 };
		IntStream intStream = IntStream.of(array);
		Integer[] integerArray = intStream.boxed().toArray(Integer[]::new);
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}
[147, 168, 151, 460, 484]

Arrays_stream

Java int Array to Integer Array 使用 Arrays.stream 轉換成 Integer Array 。

	@Test
	public void Arrays_stream() {
		int expectedSize = 5;
		int[] array = { 147, 168, 151, 460, 484 };
		IntStream intStream = Arrays.stream(array);
		Integer[] integerArray = intStream.boxed().toArray(Integer[]::new);
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}
[147, 168, 151, 460, 484]

Stream_of

Java int Array to Integer Array 使用 Stream.of 轉換成 Integer Array 。

	@Test
	public void Stream_of() {
		int expectedSize = 5;
		int[] array = { 147, 168, 151, 460, 484 };
		Stream<int[]> stream = Stream.of(array);
		Integer[] integerArray = stream.flatMapToInt(e -> Arrays.stream(e)).boxed().toArray(Integer[]::new);
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}
[147, 168, 151, 460, 484]

ArrayUtils_toObject

使用 ArrayUtils.toObject 轉換成 Integer Array 。

	@Test
	public void ArrayUtils_toObject() {
		int expectedSize = 5;
		int[] intArray = { 147, 168, 151, 460, 484 };
		Integer[] integerArray = ArrayUtils.toObject(intArray);
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}
[147, 168, 151, 460, 484]

Ints_asList_toArray

使用 Ints.asList toArray 轉換成 Integer Array 。

	@Test
	public void Ints_asList_toArray() {
		int expectedSize = 5;
		int[] array = { 147, 168, 151, 460, 484 };
		Integer[] integerArray = Ints.asList(array).toArray(new Integer[array.length]);
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}
[147, 168, 151, 460, 484]

IntArrayToItegerArrayTest.java

Convert int Array to Integer Array in Java 新增單元測試,驗證是否符合預期。

package org.ruoxue.java_147.conversion.array;

import static org.junit.Assert.*;

import java.util.Arrays;
import java.util.stream.IntStream;
import java.util.stream.Stream;

import org.apache.commons.lang3.ArrayUtils;
import org.junit.Test;

import com.google.common.primitives.Ints;

public class IntArrayToItegerArrayTest {

	@Test
	public void iteration() {
		int expectedSize = 5;
		int[] array = { 147, 168, 151, 460, 484 };
		Integer[] integerArray = new Integer[array.length];
		for (int i = 0; i < array.length; i++) {
			integerArray[i] = Integer.valueOf(array[i]);
		}
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}

	@Test
	public void IntStream_of() {
		int expectedSize = 5;
		int[] array = { 147, 168, 151, 460, 484 };
		IntStream intStream = IntStream.of(array);
		Integer[] integerArray = intStream.boxed().toArray(Integer[]::new);
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}

	@Test
	public void Arrays_stream() {
		int expectedSize = 5;
		int[] array = { 147, 168, 151, 460, 484 };
		IntStream intStream = Arrays.stream(array);
		Integer[] integerArray = intStream.boxed().toArray(Integer[]::new);
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}

	@Test
	public void Stream_of() {
		int expectedSize = 5;
		int[] array = { 147, 168, 151, 460, 484 };
		Stream<int[]> stream = Stream.of(array);
		Integer[] integerArray = stream.flatMapToInt(e -> Arrays.stream(e)).boxed().toArray(Integer[]::new);
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}

	@Test
	public void ArrayUtils_toObject() {
		int expectedSize = 5;
		int[] intArray = { 147, 168, 151, 460, 484 };
		Integer[] integerArray = ArrayUtils.toObject(intArray);
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}

	@Test
	public void Ints_asList_toArray() {
		int expectedSize = 5;
		int[] array = { 147, 168, 151, 460, 484 };
		Integer[] integerArray = Ints.asList(array).toArray(new Integer[array.length]);
		System.out.println(Arrays.toString(integerArray));
		assertEquals(expectedSize, integerArray.length);
	}
}

心得分享

int Array to Integer Array in Java 將 int 陣列轉換成 Integer 陣列實例的多種方法,也有其他選擇使用外部程式庫來轉換成 Integer[] ,像是 Apache Commons Lang 、 Guava 等, Convert int Array to Integer Array in Java 提供了幾種常見方法的操作範例。

發佈留言