Stream<int[]> stream = Stream.of(new int[3]);
Stream<char[]> stream1 = Stream.of(new char[3]);
public static<T> Stream<T> of(T t) {
return StreamSupport.stream(new Streams.StreamBuilderImpl<>(t), false);
}
위의 Stream.of
는 StreamSupport.stream
과 이어진다.
Stream<Car> carStream = Stream.of(new Car[3]);
Stream<String> stringStream = Stream.of(new String[3]);
@SafeVarargs
@SuppressWarnings("varargs") // Creating a stream from an array is safe
public static<T> Stream<T> of(T... values) {
return Arrays.stream(values);
}
위의 Stream.of
는 Arrays.stream
과 이어진다.
... values
는 가변인자로 들어옴을 뜻하고 호출함수는 T[] v = values;
다음의 형태로 받는 듯 하다.
오버로딩으로 동작하는 건데 원시타입Array 생성자와 참조타입Array 생성자가 다르다?
일단 원시타입은 배열을 유지한채로 들어오고 참조타입은 배열을 벗기고 들어온다.