Diamond Operator with Anonymous Inner Class in Java 9

raja
Updated on 21-Feb-2020 12:18:26

200 Views

Yes, we can use the diamond operator with an anonymous inner class since Java 9.The purpose of using a diamond operator is to avoid redundant code and make it more readable by no longer using a generic type on the right side of an expression. The diamond operator used only for normal classes but not for anonymous inner classes in Java 7. If we try to use it for anonymous inner classes, the compiler throws an error.In the below example, we have used a diamond operator with an anonymous inner class.Exampleimport java.util.*; public class DiamondOperatorTest {    public static void main(String args[]) {       String[] str = ... Read More

SafeVarargs Annotation for Private Methods in Java 9

raja
Updated on 21-Feb-2020 12:16:34

396 Views

The @SafeVarargs annotation was introduced in Java 7. This annotation applies to both final and static methods or constructors that take varargs parameters. This annotation used to make sure that a method does not perform unsafe operations on its varargs parameters. Since Java 9, @SafeVarargs annotation also applies to private instance methods.Syntax@SafeVarargs private void methodName(...) {    // some statements }Exampleimport java.util.ArrayList; import java.util.List; public class SafevarargsTest {    @SafeVarargs     // Apply @SafeVarargs to private methods    private void display(List... names) {       for(List name : names) {          System.out.println(name);       }    }    public static void ... Read More

CompletableFuture API Improvements in Java 9

raja
Updated on 21-Feb-2020 12:15:49

330 Views

CompletableFuture API is used for asynchronous programming in Java. It means that we can write non-blocking code by running a task on a separate thread than the main() thread and notify the main() thread about its progress, completion or failure. Java 9 introduces a few improvements in CompletableFuture API,  they are: "Support for timeouts and delays", "Improved support for subclassing" and "Addition of new factory methods".Support for timeouts and delayspublic CompletableFuture orTimeout(long timeout, TimeUnit unit) The above method has been used to specify if the task does not complete within a certain period of time the program stops and throws TimeoutException.public CompletableFuture completeOnTimeout(T value, long timeout, ... Read More

Attributes Added to Deprecated Annotation in Java 9

raja
Updated on 21-Feb-2020 12:14:47

689 Views

There are two new parameters or attributes added to @Deprecated annotation in Java 9. Those parameters are Since and forRemoval, both of these two parameters are optional with a default value when we can't specify it.SinceThis string parameter specifies the version in which the API became deprecated. The default value of this element is an empty string.Syntax@Deprecated(since="")forRemovalThis boolean parameter specifies whether the API is intended to be removed in a future release or not. The default value is false when we can't specify it.Syntax@Deprecated(forRemoval=)Examplepublic class DeprecatedAnnotationTest {    public static void main(String[] args) {       DeprecatedAnnotationTest test = new DeprecatedAnnotationTest();       test.method1();   ... Read More

MySQL Virtual Generated Columns with Mathematical Expressions

Ankith Reddy
Updated on 21-Feb-2020 11:39:55

186 Views

It can be illustrated with the help of an example in which we are creating a virtual generated column in the table named ‘triangle’. As we know that virtual generated column can be generated with or without using the keyword ‘virtual’.Examplemysql> Create table triangle(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideB + SideB * SideB))); Query OK, 0 rows affected (0.44 sec) mysql> Describe Triangle; +-------+--------+------+-----+---------+-------------------+ | Field | Type   | Null | Key | Default | Extra             | +-------+--------+------+-----+---------+-------------------+ | SideA | double | YES  |     | ... Read More

MySQL Virtual Generated Columns with Built-in Functions

Ayyan
Updated on 21-Feb-2020 11:39:09

316 Views

It can be illustrated with the help of an example in which we are creating a virtual generated column in the table named ‘employee_data’. As we know that virtual generated column can be generated with or without using the keyword ‘virtual’.Examplemysql> Create table employee_data(ID INT AUTO_INCREMENT PRIMARY KEY,        First_name VARCHAR(50) NOT NULL, Last_name VARCHAR(50) NOT NULL,        FULL_NAME VARCHAR(90) GENERATED ALWAYS AS(CONCAT(First_name, '', Last_name))); Query OK, 0 rows affected (0.55 sec) mysql> DESCRIBE employee_data; +------------+-------------+------+-----+---------+-------------------+ | Field      | Type        | Null | Key | Default | Extra     ... Read More

Non-Capturing Groups in Java Regular Expressions

Maruthi Krishna
Updated on 21-Feb-2020 11:31:41

1K+ Views

Using capturing groups you can treat multiple characters as a single unit. You just need to place the characters to be grouped inside a set of parentheses. For example −(.*)(\d+)(.*)If you are trying to match multiple groups the match results of each group is captured. You can get the results a group by passing its respective group number to the group() method. 1, 2, 3 etc.. (from right to left) group 0 indicates the whole match.Example Live Demoimport java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CapturingGroups {    public static void main( String args[] ) {       System.out.println("Enter input ... Read More

Java Regex Program to Match Parenthesis or

Maruthi Krishna
Updated on 21-Feb-2020 11:27:01

6K+ Views

Following regular expression accepts a string with parenthesis −"^.*[\(\)].*$";^ matches the starting of the sentence..* Matches zero or more (any) characters.[\(\)] matching parenthesis.$ indicates the end of the sentence.Example 1 Live Demoimport java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SampleTest {    public static void main( String args[] ) {       String regex = "^.*[\(\)].*$";       //Reading input from user       Scanner sc = new Scanner(System.in);       System.out.println("Enter data: ");       String input = sc.nextLine();       //Instantiating the Pattern class       Pattern pattern = Pattern.compile(regex);     ... Read More

Regular Expression Q Metacharacter in Java

Maruthi Krishna
Updated on 21-Feb-2020 11:21:57

1K+ Views

The subexpression/metacharacter "\Q" escapes all characters up to "\E" i.e. you can escape metacharacters in the regular expressions by placing them in between \Q and \E. For example, the expression [aeiou] matches the strings with vowel letters in it.Example  Live Demoimport java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SampleProgram {    public static void main( String args[] ) {       String regex = "[aeiou]";       Scanner sc = new Scanner(System.in);       System.out.println("Enter input string: ");       String input = sc.nextLine();       //Creating a Pattern object       Pattern pattern = ... Read More

POSIX Character Classes: P Blank in Java Regex

Maruthi Krishna
Updated on 21-Feb-2020 11:11:04

328 Views

This class matches all tabs or spaces.Example  Live Demoimport java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PrintableCharacters {    public static void main(String args[]) {       //Reading String from user       System.out.println("Enter a string");       Scanner sc = new Scanner(System.in);       String input = sc.nextLine();       //Regular expression       String regex = "[\p{Blank}]";       //Compiling the regular expression       Pattern pattern = Pattern.compile(regex);       //Retrieving the matcher object       Matcher matcher = pattern.matcher(input);       int count = 0;   ... Read More

Advertisements