Sobes.tech
Junior — Middle

გთხოვთ, ახსენით ტიპის ამოშლის კონცეფცია და მისი ძირითადი დანიშნულება პროგრამირებაში.

sobes.tech AI

პასუხი AI-სგან

Type erasure, Java'da generiklerle çalışırken kullanılan bir mekanizmadır. Derleme sırasında, generik parametrelerin tür bilgileri kaldırılır (silinir), ve derlenmiş bayt kodunda, türler genellikle Object gibi üst sınır türü ile değiştirilir.

Type erasure'ın temel amacı:

  • Generikler ortaya çıkmadan önce yazılmış kodla geriye dönük uyumluluğu sağlamak.
  • JVM'yi değiştirmeden generikleri kullanmaya izin vermek.

Misal:

List<String> list = new ArrayList<>();
// Derleme sırasında bu yaklaşık olarak şu hale gelir:
List list = new ArrayList();

Bu nedenle, örneğin, parametrik türlerin dizilerini oluşturmak veya doğrudan parametrik türlerle instanceof kullanmak mümkün değildir.