+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 پاسخ 1.1هزار بازدید
+2 امتیاز
1 پاسخ 442 بازدید
سوال شده 4 سال قبل در برنامه نویسی توسط sina-deuxshiri (12 امتیاز)
0 امتیاز
2 پاسخ 1.9هزار بازدید
+2 امتیاز
1 پاسخ 600 بازدید
+1 امتیاز
2 پاسخ 1.1هزار بازدید
+1 امتیاز
2 پاسخ 2.2هزار بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط sara_sheikhi (20 امتیاز)
+1 امتیاز
1 پاسخ 435 بازدید
+2 امتیاز
1 پاسخ 579 بازدید
سوال شده 4 سال قبل در برنامه نویسی توسط 1993 (242 امتیاز)
...