+1 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

چرا کد زیر خطا می دهد:

public class NewClass<T extends Object> {

    private T obj = new T();

}

1 پاسخ

+2 امتیاز
قبل توسط (1.1هزار امتیاز)

Generics در زبان برنامه نویسی جاوا در زمان کامپایل type check انجام می دهد، کامپایلر جاوا برای این کار از فرایندی (روشی) با نام type erasure استفاده می کند و در این فرایند کامپایلر جاوا تکلیف تمام type parameter ها را در زمان کامپایل مشخص می کند و bytecode تولید شده فقط حاوی class ها, interface ها, و method های عادی خواهد بود و در نهایت Generics هیچ گونه سربار زمان اجرا ندارد ولی دیگر نمی توان کدی مثل کد بالا نوشت و شئ از نوع type parameter های generics یک کلاس ایجاد کرد.

سوالات مشابه

+1 امتیاز
1 پاسخ 424 بازدید
+2 امتیاز
2 پاسخ 3.6هزار بازدید
0 امتیاز
1 پاسخ 545 بازدید
0 امتیاز
2 پاسخ 931 بازدید
+1 امتیاز
1 پاسخ 442 بازدید
0 امتیاز
0 پاسخ 376 بازدید
+1 امتیاز
2 پاسخ 1.1هزار بازدید
+1 امتیاز
2 پاسخ 2.1هزار بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط sara_sheikhi (20 امتیاز)
+1 امتیاز
1 پاسخ 1.1هزار بازدید
...