Omid Zakeri 96 ارسال شده در ۱۳ خرداد ۱۳۹۶ گزارش اشتراک گذاری ارسال شده در ۱۳ خرداد ۱۳۹۶ (ویرایش شده) برنامه نویسی جاوا جنریک در J2SE معرفی شده است. قبل از جنریک ها، ما می توانیم هر نوع اشیاء در مجموعه به عنوان مثال غیر عمومی را ذخیره کنید. حالا جنریک ها، نیروهای برنامه نویس جاوا برای ذخیره نوع خاصی از اشیاء هستند. استفاده از جاوا جنریک عمدتا 3 مزایای استفاده از جنریک وجود دارد. آنها عبارتند از: 1) نوع ایمن: ما می توانیم تنها یک نوع از اشیاء را در جنریک نگه داریم. 2) تبدیل نوع یا casting مورد نیاز نمی باشد. قبل از جنریک : List list = new ArrayList(); list.add("hello"); String s = (String) list.get(0);//typecasting بعد از جنریک : List<String> list = new ArrayList<String>(); list.add("hello"); String s = list.get(0); 3) چک کردن زمان کامپایل List<String> list = new ArrayList<String>(); list.add("hello"); list.add(32);//Compile Time Error Syntax برای تعریف مجموعه جنریک : ClassOrInterface<Type> مثال کامل از جنریک در جاوا : import java.util.*; class TestGenerics1{ public static void main(String args[]){ ArrayList<String> list=new ArrayList<String>(); list.add("rahul"); list.add("jai"); //list.add(32);//compile time error String s=list.get(1);//type casting is not required System.out.println("element is: "+s); Iterator<String> itr=list.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } } کلاس های جنریک یک کلاس است که می تواند به هر نوع اشاره کند و به عنوان کلاس جنریک شناخته شود. در اینجا، ما با استفاده از پارامتر نوع T یک کلاس عمومی می سازیم. class MyGen<T>{ T obj; void add(T obj){this.obj=obj;} T get(){return obj;} } نوع T نشان می دهد که می توانید به هر نوع داده(مانند رشته، عدد صحیح، کارمند و غیره) مراجعه کنید. استفاده از کلاس جنریک : class TestGenerics3{ public static void main(String args[]){ MyGen<Integer> m=new MyGen<Integer>(); m.add(2); //m.add("vivek");//Compile time error System.out.println(m.get()); }} متدهای جنریک مانند کلاس های جنریک ما می توانیم متد هایی تعریف کنیم.مثال زیر تعریف متد جنریک است : public class TestGenerics4{ public static < E > void printArray(E[] elements) { for ( E element : elements){ System.out.println(element ); } System.out.println(); } public static void main( String args[] ) { Integer[] intArray = { 10, 20, 30, 40, 50 }; Character[] charArray = { 'J', 'A', 'V', 'A', 'T','P','O','I','N','T' }; System.out.println( "Printing Integer Array" ); printArray( intArray ); System.out.println( "Printing Character Array" ); printArray( charArray ); } } ویرایش شده ۱۳ خرداد ۱۳۹۶ توسط Omid Zakeri نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .