Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[item29] 타입 매개변수에 기본 타입은 왜 쓸 수 없을까 #48

Open
jun108059 opened this issue Oct 25, 2022 · 1 comment
Open
Labels
👨🏻‍💻 question 토론하고 싶은 질문입니다.

Comments

@jun108059
Copy link
Member

(174p) 대다수의 제네릭 타입은 타입 매개변수에 아무런 제약을 두지 않는다. ~ 단, 기본 타입은 사용할 수 없다.

@jun108059 jun108059 added the 👨🏻‍💻 question 토론하고 싶은 질문입니다. label Oct 25, 2022
@okeydokey
Copy link
Contributor

okeydokey commented Oct 26, 2022

https://www.baeldung.com/java-generics#generics-primitive-data-types 에 자세히 나와있어서 번역기 돌린 내용 공유합니다 ㅎ
기본 타입이 작동하지 않는 이유는 제네릭이 컴파일 타임 기능이기 때문입니다. 즉, (런타임에는) 타입 매개변수가 지워지고 모든 제네릭 유형이 Object 타입으로 구현됩니다.
따라서 타입 매개변수는 Object로 변환할 수 있어야 합니다. 기본 타입은 Object를 확장하지 않기 때문에 타입 매개변수로 사용할 수 없습니다.
Java의 향후 버전에서는 제네릭에 대한 기본 타입을 허용할 가능성이 있습니다. 프로젝트 Valhalla는 제네릭 처리 방식을 개선하는 것을 목표로 합니다. (https://openjdk.org/jeps/218)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
👨🏻‍💻 question 토론하고 싶은 질문입니다.
Projects
None yet
Development

No branches or pull requests

2 participants