Boxing/Unboxing
À l’intérieur de Java, tout est objet… ou presque : il existe ce que l’on appelle les types primitifs, tels que int, double, float, char, boolean.
Chacun de ces types primitifs a un équivalent objet : Integer, Double, Float, Character, Boolean.
Afin de faciliter le codage, le langage Java peut faire une conversion automatique du type primitif en son équivalent objet : il s’agit du mécanisme de boxing.
private Integer transformer(int entier) {
return entier; // convertit le type primitif int
// en objet de type Integer
}
Pour le faire à la main, utilisez la méthode statique valueOf() des classes Boolean, Integer, Double, Float ou Character.
private Boolean transformer(boolean booleen) {
// convertit le type primitif boolean
// en objet de type Boolean
return Boolean.valueOf(booleen);
}
L’opération inverse, dite d’unboxing, permet quant à elle de transformer les objets Java en leur type primitif.
private double convertir(Double decimal) {
return decimal; // convertit l'objet de type Double
// en valeur de type primitif.
}
Pour le faire à la main, utilisez les méthodes d’instance xxxValue() :
Boolean...