내 자바 코드에 다음 문을 사용하고 있는데 나는 그것이 실제로 컴파일 것을보고 놀랐습니다 :누군가 Java의 제네릭에서이 기본 유형의 사용을 설명 할 수 있습니까?
ResponseEntity<byte[]> responseEntity = restTemplate.getForEntity(url.toString(), byte[].class, params);
워드 프로세서에서이 메소드의 서명은 다음과 같습니다
ResponseEntity<T> getForEntity(String url, Class<T> responseType, Map<String, ?> urlVariables)
내가했다 Java에서 제네릭의 기본 요소를 사용할 수 없다는 인상하에 그렇다면 어떻게 작동합니까? 이것이 본질적으로 후드 아래에서 진행되고있는 다른 것에 대한 통설적인 설탕인가? 내 (꽤 잘못된) 추측은 컴파일러가 byte[]
을 Array
으로 변환하고 어떻게 든 작동한다는 것입니다. 어떻게 그리고 왜 이것이 효과가 있는지 누군가가 나에게 설명 할 수 있는지 궁금해했다.
즉, 프리미티브 값의 배열은 기본 형식이 아닙니다 – Snicolas
아, 멋지다! 설명 해줘서 고마워. ** 편집 : **이 대답을 downvote하려고한다면, 적어도 이유를 설명하는 예의 있습니다. –