É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
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!