Dans OpenJDK, pour la méthode:
public static Double valueOf(double d)
La javadoc dit:
Renvoie une Double instance représentant le spécifié de la valeur de type double. Si un nouveau Double instance n'est pas nécessaire, cette méthode doit généralement être utilisés de préférence pour le constructeur Double(double), que cette méthode est susceptible d'avoir nettement mieux l'espace et le temps de la performance par la mise en cache souvent demandé valeurs.
Voici le code:
public static Double valueOf(double d) {
return new Double(d);
}
Le cache est un mensonge! Ce qui se passe ici?