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

تفاوت دو متد زیر که با Generics در جاوا نوشته شده اند در چیست؟

    public void print1(List<? extends Number> param){
        //do something
    } 
    
    
    public <T extends Number> void print2(List<T> param) {
        //do something
    }
قبل توسط (7.2هزار امتیاز)
پس کارکرد <T extends Number> قبل از void چیه؟
قبل توسط (1.1هزار امتیاز)
+1
به این میگن generics method. شما می تونید از T درون پارامترها، مقدار بازگشتی و بدنه متد استفاده کنید و در زمان کامپایل نوع T را مشخص کنید.

1 پاسخ

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

از نظر سینتکس زبانی و کامپایلر جاوا signature این دو متد دقیقا مشابه هم هستند و اگر نام هر دو متد یکسان باشد خطای کامپایل دریافت خواهید کرد اما از نظر مورد استفاده متد print2 که از WildCard استفاده نکرده است این مزیت را دارد که می توانیم از T در بدنه متد یا مقدار بازگشتی نیز استفاده کنیم ولی در متد print1 خیر.

سوالات مشابه

+1 امتیاز
1 پاسخ 989 بازدید
+2 امتیاز
1 پاسخ 341 بازدید
سوال شده 3 سال قبل در برنامه نویسی توسط sina-deuxshiri (12 امتیاز)
0 امتیاز
2 پاسخ 1.7هزار بازدید
+2 امتیاز
1 پاسخ 463 بازدید
+1 امتیاز
2 پاسخ 839 بازدید
+1 امتیاز
2 پاسخ 2.0هزار بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط sara_sheikhi (20 امتیاز)
+1 امتیاز
1 پاسخ 318 بازدید
+2 امتیاز
1 پاسخ 416 بازدید
سوال شده 3 سال قبل در برنامه نویسی توسط 1993 (242 امتیاز)
...