简体   繁体   中英

Advantage of @SuppressWarnings annotation

@SuppressWarnings annotation is for cleaner code or by adding it is there any performance gain or any advantage ?

or can we reduce compile time by doing so.

The @SuppressWarnings annotation type allows Java programmers to disable compilation warnings for a certain part of a program (type, field, method, parameter, constructor, and local variable). Normally warnings are good. However in some cases they would be inappropriate and annoying. So programmers can choose to tell the compiler ignoring such warnings if needed.

There is no relation with performance.

The developer who wrote the code knew that it was always going to be safe, decided to use @SuppressWarnings("unchecked") to suppress the warning at compilation.

As mentioned by others, it is just a trust between the developer and code written.

more info here and here

SuppressWarnings annotation is just to suppress warnings that you know are sure to occur and you don't care about it. Its just helps you to have a cleaner inspection, suppressing warnings you expect to see. No performance gain.

There is no performance gain, only when compiling, compiler will or will not write a waring. However after compilation, there is no difference whatsoever.

It does not make your code cleaner or improve the performance. It just helps you to concentrate your attention on potentially dangerous code. If you have a list of 130 warnings you will soon stop to read them.

Most warnings represents bad programming practices or potencial problems that the compiler is not able to solve. A finished program should, ideally, compile with no warnings. This way, when you modify it and a new warning appears you can decide what to do.

For example:

  • Unreachable code. What was I thinking here
  • Lib ZZZ is deprecated. Should I upgrade to the new one? Can I continue with this for now?
  • Add type arguments to list... ups, I should be using generics

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM