generic در Constructor در جاوا

0 رأی
میانگین بازدید روزانه 0.283 بازدید
class MyClass<E> {

   MyClass(List<? extends E> list) {    } //Constructor 1

  <P> MyClass(List<P extends E> list) {    }//Constructor 2

}

چرا Constructor 1 مشکل نداره ولی به Constructor 2 گیر میده

مگه فرق بین استفاده از wildcard و یا اینکه یک کارکتر مثل p رو استفاده کنیم تویه چیه؟

مگه هر دو تاشون این معنی رو نمیدن که تمام فرزند های Type ی که برای E مشخص کردی رو قبول میکنم

سوال 1 سال قبل در تالار برنامه نویسی توسط یوری (426 امتیاز)
ویرایش 1 سال قبل توسط Saeed Zarinfam

1 جواب

0 رأی

مفهومی درسته، منتها سینتکس درست نیست. شما P رو تعریف کردی به عنوان یه تایپ ولی باند نشده به چیزی یعنی Extends Object. و توی تعریف لیست باید از این پارامتر استفاده کنین نه اینکه باندش کنین. باند کردنو باید تو همون مرحله تعریف اضافه کنین. یعنی:

<P extends E> MyClass(List<P> list) { }

جواب 2 هفته قبل توسط salar_ai (245 امتیاز)

سوال های مشابه

+3 رأی
1 جواب میانگین بازدید روزانه 0.36473 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.11207 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0773 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.07125 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.0694 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.871,837 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 2.6545 بازدید
سوال 2 هفته قبل در تالار برنامه نویسی توسط 1993 (104 امتیاز)
0 رأی
0 جواب میانگین بازدید روزانه 1.0340 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 1.466 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 151 بازدید
سوال 1 ماه قبل در تالار برنامه نویسی توسط Simpath (145 امتیاز)
کانال تلگرام جواب یاب
...