+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 پاسخ 982 بازدید
+2 امتیاز
1 پاسخ 336 بازدید
سوال شده 3 سال قبل در برنامه نویسی توسط sina-deuxshiri (12 امتیاز)
0 امتیاز
2 پاسخ 1.7هزار بازدید
+2 امتیاز
1 پاسخ 458 بازدید
+1 امتیاز
2 پاسخ 826 بازدید
+1 امتیاز
2 پاسخ 2.0هزار بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط sara_sheikhi (20 امتیاز)
+1 امتیاز
1 پاسخ 315 بازدید
+2 امتیاز
1 پاسخ 408 بازدید
سوال شده 3 سال قبل در برنامه نویسی توسط 1993 (242 امتیاز)
...