public static <T> Optional<T> ofNullable(T value) {
return value == null ? empty() : of(value);
}
If a value is present, returns the value, otherwise throws NoSuchElementException.
Returns:
the non-null value described by this Optional
Throws:
NoSuchElementException – if no value is present
API Note:
The preferred alternative to this method is orElseThrow().
Optional 설명을 보다 static 옆의 <T>를 보고 관련 내용을 찾아봤다.
결론부터 말하자면 static옆의 <T>는 해당 메소드가 제네릭 메소드라는것을 컴파일러에 알려주는 역할을 한다.
<T>를 안써주면 컴파일 과정에서 어떤 타입이 들어오는지 컴파일러는 알 수 없기때문에 오류가난다.
하지만 <T>를 붙여줌으로써 컴파일러에게 제네릭 메소드라는 것을 알리기때문에 오류가 나지 않는다.
https://okky.kr/articles/689720
OKKY - public static <T> Optional<T> of(T value); 여기서 static 뒤에 있는 <T> 이게뭔가요?
// 메서드 시그니처public static <T> Optional<T> of(T value); 여기서 저 문장을 해석한다면 어떤의미인가요? 리턴타입이 Optional<T>인 of라는 이름의 추상메소드인가요? 그럼 static바로 다음에 나오는 <T>는
okky.kr
http://tcpschool.com/java/java_generic_various
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com