Maison > Java > javaDidacticiel > Quel est l'équivalent Java de la « paire » de C et pourquoi n'y a-t-il pas d'analogue direct ?

Quel est l'équivalent Java de la « paire » de C et pourquoi n'y a-t-il pas d'analogue direct ?

Mary-Kate Olsen
Libérer: 2024-12-19 17:30:14
original
895 Les gens l'ont consulté

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

Équivalent Java de C Pair

Question :

Bien que Java a Map.Entry en 1.6, il n'a pas d'équivalent direct de C Paire. Quelles sont les raisons de cette absence, et quelle est une approche alternative appropriée en Java ?

Réponse :

Raisons de l'absence :

Hunter Gratzner, dans un fil de discussion comp.lang.java.help, présente des arguments contre l'introduction d'une construction Pair en Java. La principale préoccupation est qu’une classe Pair manque de sémantique explicite sur la relation entre ses deux valeurs. Sans nom spécifique, il n'est pas clair ce que représentent les valeurs « première » et « seconde », ce qui rend la compréhension de l'intention du code plus difficile.

Alternative appropriée :

L'option recommandée L'approche consiste à créer des classes simples et spécifiques pour chaque cas d'utilisation prévu. Par exemple, au lieu de Pair(x,y), une classe plus descriptive comme Position(x,y) transmet plus clairement la relation entre les deux valeurs. De même, pour Range(begin,end) et Entry(key,value).

Map.Entry en tant qu'équivalent limité :

Alors que Map.Entry fournit une paire -comme la fonctionnalité, elle est spécifique aux mappages clé-valeur, limitant son usage général applicabilité.

Conclusion :

Au lieu de recourir à des classes Pair génériques, Java encourage la création de classes spécialisées et significatives qui transmettent explicitement l'utilisation prévue. Cette approche améliore la lisibilité et la compréhension du code, tout en évitant l'ambiguïté sémantique associée à un type Pair générique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal