Junior — Middle
Mi akadályozza az alapvető adattípusok használatát a generikus paraméterekben?
sobes.tech MI
Válasz az MI-től
Java-ban a generikusokat típuseltávolítással (type erasure) valósítják meg, ami azt jelenti, hogy a generikus paraméterek típusaira vonatkozó információk futásidőben nem érhetők el.
Ezért nem lehet primitív típusokat (int, boolean stb.) használni generikus paraméterként, mivel nem objektumok, és nem ábrázolhatók osztályként.
Például helytelen a következő:
List<int> numbers; // Hiba
Helyette csomagolókat kell használni:
List<Integer> numbers; // Helyes
Ez azért van, mert a generikusok csak objektumtípusokkal működnek, a primitív típusok pedig nem azok.