> Java > java지도 시간 > C의 `Pair`에 해당하는 Java는 무엇이며 왜 직접적인 아날로그가 없습니까?

C의 `Pair`에 해당하는 Java는 무엇이며 왜 직접적인 아날로그가 없습니까?

Mary-Kate Olsen
풀어 주다: 2024-12-19 17:30:14
원래의
894명이 탐색했습니다.

What's the Java Equivalent of C  's `Pair` and Why Isn't There a Direct Analogue?

C 쌍에 해당하는 Java

질문:

Java이지만 1.6에는 Map.Entry가 있지만 C와 직접적으로 동등한 것은 없습니다. 쌍. 결석 이유는 무엇이며, Java에서 적합한 대체 접근 방식은 무엇입니까?

답변:

결석 이유:

Hunter Gratzner는 comp.lang.java.help 스레드에서 쌍 구조 도입에 반대하는 주장을 제시합니다. 자바. 주요 관심사는 쌍 클래스에 두 값 사이의 관계에 대한 명시적 의미가 부족하다는 것입니다. 구체적인 이름을 지정하지 않으면 "첫 번째" 및 "두 번째" 값이 무엇을 나타내는지 불분명하므로 코드의 의도를 이해하기가 더 어렵습니다.

적절한 대안:

권장 접근 방식은 각 의도된 사용 사례에 대해 간단하고 구체적인 클래스를 만드는 것입니다. 예를 들어, pair(x,y) 대신 Position(x,y)와 같이 더 설명적인 클래스가 두 값 간의 관계를 더 명확하게 전달합니다. 마찬가지로 Range(begin,end) 및 Entry(key,value).

Map.Entry는 제한된 동등 항목으로 사용됩니다.

Map.Entry는 쌍을 제공합니다. -기능과 유사하며 키-값 매핑에만 해당되므로 범용이 제한됩니다.

결론:

Java는 일반적인 쌍 클래스에 의존하는 대신 의도된 용도를 명시적으로 전달하는 전문적이고 의미 있는 클래스의 생성을 권장합니다. 이 접근 방식은 코드 가독성과 이해도를 높이는 동시에 일반 쌍 유형과 관련된 의미적 모호성을 방지합니다.

위 내용은 C의 `Pair`에 해당하는 Java는 무엇이며 왜 직접적인 아날로그가 없습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿