Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

java
communitycreator

What is the @SuppressWarnings annotation in Java?

abhilash

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Overview

Java is a compiled language which means the Java compiler converts the high-level java code to byte code. After the compilation phase, the compiler can throw warning messages that are helpful to improve the code.

If we don’t want to fix them, we can use the @SuppressWarnings annotation suppress the warning messages.

The @SuppressWarnings annotation

This annotation is used to suppress warnings in the annotated element. The annotation also needs a list of types of compiler warnings to suppress. Below is the syntax to specify the list of warnings.

To specify a single warning:

@SuppressWarnings(<warning name>)

Example: @SuppressWarnings("unchecked")

To specify more than one warning:

@SuppressWarnings({<warning1>, <warning2>, <warning3>})

Example: @SuppressWarnings({"unchecked", "deprecation"})

Different compiler vendors can have different warning types. But the most common ones are deprecation and unchecked.

  • deprecation: This indicates the compiler to ignore warnings due to the usage of deprecated elements.
  • unchecked: This indicates the compiler to ignore warnings due to the usage of raw types.

Example

import java.util.Arrays;
import java.util.List;
public class main {
@SuppressWarnings({"unchecked", "deprecation"})
public static void printList(List... strings) {
for (List<String> string: strings) {
System.out.println(strings);
}
}
public static void main(String[] args) {
// Main main = new Main();
List<String> stringList = Arrays.asList("educative", "edpresso");
printList(stringList);
}
}
@SuppressWarnings annotation

Explanation

  • Lines 1–2: We import relevant classes.
  • Lines 6–11: We define a private method called printList that loops through the vararg parameter strings and prints the value. The method is annotated with @SuppressWarnings to suppress warnings from the method.
  • Line 13: We create an instance of the Main class.
  • Line 14: We define a list of strings.
  • Line 15: We call the printList method with the list of strings.

RELATED TAGS

java
communitycreator

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring