velog에서 이전한 글 입니다.
Stream.of
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 생성자가 다르다?
일단 원시타입은 배열을 유지한채로 들어오고 참조타입은 배열을 벗기고 들어온다.
'Language > Java' 카테고리의 다른 글
자바) List (23-05-26) (0) | 2023.07.13 |
---|---|
자바) enum, 열거형 (23-05-24) (0) | 2023.07.13 |
자바) Stream.of/ Arrays.stream/ Integer <-> int (23-05-18) (0) | 2023.07.13 |
자바) 람다식/ 메서드 참조/ stream (23-05-18) (0) | 2023.07.13 |
자바) 함수형 인터페이스/ util.function (23-05-16) (0) | 2023.07.13 |