Hello Tchize_ et merci.
Ok pour l'addition, ca m'étonnait aussi.
Vu que les 2 types sont stockés sur le même nombre de bytes, il doit y avoir une bijection, ne serait-ce qu'à partir de la version serializée.
J'ai quand même l'impression que cette transformation est bijective, de ce que j'ai pu en testé. Par contre elle semble dépendre de la JVM.
En ce qui concerne le pourquoi, j'ai un problème de design que j'hésite à attaquer de manière propre. Je cherche à parraléliser des mappers sous Hadoop, cad:
- j'ai un ensemble de "functions" : des classes héritant de Mapper<Ki,Vi,Ko,Vo>, pour plusieurs jeux de classes paramètriques <Ki,Vi,Ko,Vo>, qui définissent
map(Ki key, Vi value, Mapper<Ki,Vi,Ko,Vo>.Context ctx)
Mon but est de créer un autre Mapper dont la méthode map() appele chaque Mapper.map() de mon ensemble, en lui passant un proxy du Context.
Je ne sais trop comment gérer la multiplicité de types génériques possibles, vu que chaque map() que je dois appeler attends une classe générique concrète.
Il est hors de question de paramétrer le mapper aggrégé par tous les types génériques des mappers wrappés (qui sont en nombre variables).
En terme de performance, vu que les inputs/outputs de ces fonctions sont serialisées / deserialisées par hadoop, je me disais qu'interpréter un unique type primitif de multiples manières serait un bon compromis.
Partager