Middle
Un type de données primitif peut-il être placé dans le Heap?
sobes.tech IA
Réponse de l'IA
Non, les types de données primitifs (byte, short, int, long, float, double, boolean, char) sont stockés dans la pile (Stack Memory). Les objets, y compris les wrappers des types primitifs, sont stockés dans le tas (Heap Memory).
Cependant, les types primitifs peuvent faire partie d’un objet qui se trouve dans le tas. Dans ce cas, les champs de types primitifs seront stockés dans le même bloc de mémoire dans le tas que l’objet lui-même.
Par exemple :
// Un int primitif est stocké dans la pile
int x = 10;
// Un objet Integer (wrapper du type primitif) est stocké dans le tas
Integer y = 20;
// Un objet MyObject est stocké dans le tas
MyObject obj = new MyObject();
class MyObject {
// Un int primitif "à l’intérieur" de l’objet, qui se trouve dans le tas
int value;
}
Dans ce cas, value est un champ de l’objet obj et est stocké dans le tas en tant que partie de cet objet. Mais le type primitif lui-même ne peut pas être stocké dans le tas séparément de l’objet.