Java 15 Interview Questions and Answers
Freshers / Beginner level questions & answers
Ques 1. What is Java 15?
Released on September 15, 2020.
There are a few new features and updates have been provided here:
The JDK class library, Text Blocks, performance changes, experimental, preview, and incubator features, deprecations and deletions, and finally, other changes that we rarely come into contact with.
But that's not all: A total of 14 JDK Enhancement Proposals (JEPs) have made it into this release.
Ques 2. What is Text Blocks or Multi-line string in Java 15?
Until now, when we wanted to define a multi-line string in Java, it usually looked like this:
String sql =
" SELECT id, title, text\n"
+ " FROM Article\n"
+ " WHERE category = \"Java\"\n"
+ "ORDER BY title";
Starting with Java 15, we can notate this string as a "text block":
String sql = """
SELECT id, title, text
FROM Article
WHERE category = "Java"
ORDER BY title""";
Ques 3. What are New String and CharSequence Methods in Java 15?
- String.formatted()
- String.stripIndent()
- String.translateEscapes()
- CharSequence.isEmpty()
Ques 4. What is String.formatted() in Java 15?
We could previously replace placeholders in a string as follows, for example:
String message = String.format( "User %,d with username %s logged in at %s.", userId, username, ZonedDateTime.now());
Starting from Java 15, we can use an alternative syntax:
String message = "User %,d with username %s logged in at %s." .formatted(userId, username, ZonedDateTime.now());
It makes no difference which method you use. Both methods will eventually call the following code:
String message = new Formatter() .format( "User %,d with username %s logged in at %s.", userId, username, ZonedDateTime.now()) .toString();
So the choice is ultimately a matter of taste. I quickly made friends with the new spelling.
Ques 5. What is String.translateEscapes() in Java 15?
Occasionally we get to deal with a string that contains escaped escape sequences, such as the following:
String s = "foo\\nbar\\tbuzz\\\\";System.out.println(s);
The output looks like this:
foo\nbar\tbuzz\\
Sometimes, however, we want to display the evaluated escape sequences: a newline instead of "\n", a tab instead of "\t", and a backslash instead of "\".
Until now, we had to rely on third-party libraries such as Apache Commons Text for this:
System.out.println(StringEscapeUtils.unescapeJava(s));
Starting from Java 15, we can avoid the additional dependency and use the JDK method String.translateEscapes():
System.out.println(s.translateEscapes());
The output now reads:
foobar buzz
Ques 6. What is CharSequence.isEmpty() in Java 15?
Also new is the default method isEmpty() in the CharSequence interface. The method simply checks whether the character sequence's length is 0:
default boolean isEmpty() { return this.length() == 0;}
This method is thus automatically available in the Segment, StringBuffer, and StringBuilder classes.
String and CharBuffer, which also implement CharSequence, each have their optimized implementation of isEmpty(). With String, for example, the call to length() is unnecessarily expensive because, since Java 9 (JEP 254 "Compact Strings"), the string's encoding must also be taken into account when calculating its length.
Ques 7. Provide the release notes of Java 15.
The details are provided here.
Most helpful rated by users:
- What is Java 15?
- What is Text Blocks or Multi-line string in Java 15?
- What are New String and CharSequence Methods in Java 15?
- What is CharSequence.isEmpty() in Java 15?
- Provide the release notes of Java 15.