Introduction
JAVA 8 is a major feature release of Java programming language. It was initially released on 18 March 2014. Java 8 provides support for functional programming, new JavaScript engine, new APIs for date time manipulation, new streaming API, etc.
Below are some of the new features in Java 8 :
1) Lambda expression β Adds functional processing capability to Java.
2) Method references β Referencing functions by their names instead of invoking them directly. Using functions as parameter.
3) Default method β Interface to have default method implementation.
4) New tools β New compiler tools and utilities are added like βjdepsβ to figure out dependencies.
5) Stream API β New stream API to facilitate pipeline processing.
6) Date Time API β Improved date time API.
7) Optional β Emphasis on best practices to handle null values properly.
8) Nashorn, JavaScript Engine β A Java-based engine to execute JavaScript code.
Check out below program to sort names in Java 7 vs Java 8 to understand how lambda help us write a clean and elegant code in java.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> names1 = new ArrayList<String>();
names1.add("Sam ");
names1.add("James ");
names1.add("Wilson ");
names1.add("Edward ");
names1.add("Ramesh ");
List<String> names2 = new ArrayList<String>();
names2.add("Sam ");
names2.add("James ");
names2.add("Wilson ");
names2.add("Edward ");
names2.add("Ramesh ");
Main tester = new Main();
System.out.println("Sort using Java 7 syntax: ");
tester.sortByJava7(names1);
System.out.println(names1);
System.out.println("Sort using Java 8 syntax: ");
tester.sortByJava8(names2);
System.out.println(names2);
}
//sort by java 7
private void sortByJava7(List<String> names) {
Collections.sort(names, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
}
//sort by java 8
private void sortByJava8(List<String> names) {
Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
}
}
Output :
Sort using Java 7 syntax:
[Edward , James , Ramesh , Sam , Wilson ]
Sort using Java 8 syntax:
[Edward , James , Ramesh , Sam , Wilson ]
Thank you folks. Please do check my other articles on https://softwareengineeringcrunch.blogspot.com
If you like my article, you can support me by buying me a coffee ->
Top comments (1)
Java 8 for beginners introduces powerful new features that make coding cleaner,mean stack training institutes in trivandrum faster, and more expressive. Key additions include Lambda expressions for concise functional programming, the Stream API for easy data processing, and the new java.time API for improved date and time handling. Beginners also benefit from default methods in interfaces, enabling more flexible code without breaking existing implementations.