سری مطالب آموزش جاوا 8 – بخش اول (بررسی اجمالی)
جاوا 8 نسخهای با تغییرات مهم در زبان برنامهنویسی جاوا است. نسخه ابتدایی آن در 18 مارس 2014 منتشر شد. با انتشار جاوا نسخه 8، جاوا حمایتهایی از زبانهای برنامهنویسی functional، موتور جدید جاوا اسکریپت، API جدید برای دستکاری زمان و تاریخ، API هایی برای streaming و … به عمل آورد.
ویژگیهای جدید جاوا 8:
- اصطلاحات لامبدا- قابلیت پردازش functional را به جاوا اضافه میکند.
- ارجاعات (reference) متد- توابع را بانامشان بهجای صدازدن مستقیم، ارجاع میدهد. استفاده از توابع بهعنوان پارامتر
- متد پیشفرض (default method)- interface ای است که پیادهسازی آن با متد پیشفرض انجامشده است.
- ابزار جدید- ابزارهای جدید کامپایل کردن و موارد سودمند مانند”jdeps” برای تشخیص وابستگیها. (dependencies)
- Stream API- stream API جدید برای تسهیل پردازش خط لوله
- API زمان و تاریخ- API ارتقا یافته زمان و تاریخ
- اختیاری- تأکید روی بهترین تمرینها برای اداره کردن صحیح مقادیرِ null
- Nashorn، موتور جاوا اسکریپت- موتوری بر اساس جاوا برای اجرای کدهای جاوا اسکریپت
در این مقاله قصد داریم به طرز کار عبارت لامبدا در جاوا 8 بپردازیم.
تکه کد زیر را در نظر بگیرید:
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.Comparator;
public class Java8Tester {
public static void main(String args[]) {
List<String> names1 = new ArrayList<String>();
names1.add(“Mahesh “);
names1.add(“Suresh “);
names1.add(“Ramesh “);
names1.add(“Naresh “);
names1.add(“Kalpesh “);
List<String> names2 = new ArrayList<String>();
names2.add(“Mahesh “);
names2.add(“Suresh “);
names2.add(“Ramesh “);
names2.add(“Naresh “);
names2.add(“Kalpesh “);
Java8Tester tester = new Java8Tester();
System.out.println(“Sort using Java 7 syntax: “);
tester.sortUsingJava7(names1);
System.out.println(names1);
System.out.println(“Sort using Java 8 syntax: “);
tester.sortUsingJava8(names2);
System.out.println(names2);
}
// مرتبسازی با جاوا 7
private void sortUsingJava7(List<String> names) {
Collections.sort(names, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
}
// مرتبسازی با جاوا 8
private void sortUsingJava8(List<String> names) {
Collections.sort(names, (s1, s2) -> s1.compareTo(s2));/*عبارت لامبدا*/
}
}
برنامه را اجرا کنید و نتیجه زیر را ببینید:
Sort using Java 7 syntax:
[ Kalpesh Mahesh Naresh Ramesh Suresh ]
Sort using Java 8 syntax:
[ Kalpesh Mahesh Naresh Ramesh Suresh ]
تغییرات متد sort با استفاده از جاوا 8 چه بود؟
متدها از تابع sort با عبارت لامبدا بهعنوان پارامتر برای به دست آوردن معیارهای مرتبسازی استفاده میکنند. عبارت لامبدا کار برنامه نویسان را راحت تر می کند و شما می توانید تکه کدی چند خطی را با عبارت لامبدا در یک خط خلاصه کنید.
بخشهای دیگر این مقاله را از لینکهای زیر بخوانید:
سری مطالب آموزش جاوا ۸ – بخش دوم: نصب جاوا
سری مطالب آموزش جاوا ۸ – بخش سوم: ارجاع متد