A N M Bazlur Rahman 🇧🇩🇨🇦 Profile picture
🏆 Java Champion 🌆 Jakarta EE Ambassador 💻 Staff Software Developer at @DNAstack 🎓 JUG Leader 📖 Published Author @InfoQ 🌐 and @foojayio 📝 Editor

May 22, 2022, 13 tweets

Every programming language provides ways to express our ideas and then translates them into reality. This thread will explore ten #Java programming features used frequently by developers in their day-to-day programming jobs.

Collections are used to store, sort, search, and iterate objects. It provides a few basic interfaces, such as List, Set, Map, and their implementations. The traditional way of creating Collections may look verbose. Therefore, #Java 9 introduced a few very concise factory methods.

#Java 10 introduced type inference for local variables, which is super convenient for developers.

The traditional switch statement has been in Java from the beginning, which resembled C and C++. It was ok, but as the language evolved, it hasn't offered us any improvement. #Java 14 introduced a new way of looking at this switch statement, and it offers much more rich features.

Although records are relatively new features in Java, released in #Java 16, many developers find it super helpful to create immutable objects.

public record Point(int x, int y) {
}

We often get null from a method instead of a value with the specified type. An invoker cannot know this upfront unless it invokes it. It’s a violation of the contract.
#Optional is the rescue.

Every developer is confused with date-time calculation to some degree. This was mainly due to not having a good Java API to deal with dates and times in #Java for a long time.
#Java 8 brings an excellent API set in java.time that solves all the date time-related issues.

Every developer hates the NullPointerException. It becomes challenging when StackTrace doesn’t provide helpful information it. From #Java 14 and onward, we get more details in the StackTrace, which is super convenient.

#Java 8 brings CompletableFuture. We can easily accomplish three rest calls in three different cores using it. It gives us a way for multiple independent units of a program to be executed independently.

Lambda Expression is probably the most powerful feature in the #Java language. It reshaped the way we write code.

And the Stream API.
"Lambda Expressions are the gateway drug to #Java 8, but Streams are the real addiction.
- Venkat Subramaniam.

Read the whole article now:
foojay.io/today/top-10-j…

And finally, keep an eye here on my Twitter (follow?) to get more similar threads in the future.

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling