Update #1: All these annotations are still valid in Eclipse 3.4 and 3.5, there have been no new SuppressWarning arguments added in those versions of the JDT compiler.
If you are a Java developer and use the new @SuppressWarnings annotation in your code from time-to-time to suppress compiler warnings you, like me, have wondered probably about a million times already just exactly what are the supported values that can be used with this annotation.
The reason the list isn’t easy to find is because it’s compiler specific, which means Sun may have a different set of supported values than say IBM, GCJ or Apache Harmony.
Fortunately for us, the Eclipse folks have documented the values they support (As of Eclipse 3.3), here they are for reference:
- all to suppress all warnings
- boxing to suppress warnings relative to boxing/unboxing operations
- cast to suppress warnings relative to cast operations
- dep-ann to suppress warnings relative to deprecated annotation
- deprecation to suppress warnings relative to deprecation
- fallthrough to suppress warnings relative to missing breaks in switch statements
- finally to suppress warnings relative to finally block that don’t return
- hiding to suppress warnings relative to locals that hide variable
- incomplete-switch to suppress warnings relative to missing entries in a switch statement (enum case)
- nls to suppress warnings relative to non-nls string literals
- null to suppress warnings relative to null analysis
- restriction to suppress warnings relative to usage of discouraged or forbidden references
- serial to suppress warnings relative to missing serialVersionUID field for a serializable class
- static-access to suppress warnings relative to incorrect static access
- synthetic-access to suppress warnings relative to unoptimized access from inner classes
- unchecked to suppress warnings relative to unchecked operations
- unqualified-field-access to suppress warnings relative to field access unqualified
- unused to suppress warnings relative to unused code
TIP: For the folks that haven’t used @SuppressWarnings before, the syntax looks like this:
@SuppressWarnings(”unused”)
and can be placed above almost any piece of code that is causing a compiler warning to popup for your class.



(Click to Rate!)
May 5th, 2008 at 12:35 pm
Thanks! Been lookin’ for that!
May 5th, 2008 at 12:53 pm
No problem, glad it helped!
I couldn’t believe how hard it was to find a list when I originally went looking, so I knew I had to blog it
May 15th, 2008 at 5:07 am
Wow, thats super cool
August 13th, 2008 at 4:45 pm
cool. thanx a bunch to folks who got this online
August 26th, 2008 at 2:46 am
Thanks for this list
August 26th, 2008 at 4:36 am
No problem, glad it could help! (I know that I just keep this page bookmarked any time I’m coding now, they really should just add this to the auto-complete list in the editor IMO… or some agreed up on sub-set between Eclipse JDT/Sun Javac or something…)
September 1st, 2008 at 4:07 am
Wow – thx: likewise, can’t believe how hard this is to find …
September 10th, 2008 at 7:34 am
Big Thanks for the list! looked and found your blog
September 10th, 2008 at 11:00 am
Paulo, glad it helped!
October 8th, 2008 at 7:14 am
Rock. Thanks!
November 9th, 2008 at 11:37 pm
Thanks. For your information
November 21st, 2008 at 6:23 am
Thanks for your valuable information
November 21st, 2008 at 7:47 am
PRK,
Not a problem, glad it helped!
January 13th, 2009 at 8:21 pm
Thanks Riyad, your article just helped me out. Much appreciated!
January 13th, 2009 at 8:28 pm
Glad to hear it Cyrus!
March 17th, 2009 at 5:46 am
This really is a great blog to have put up. Thanks a lot for making this list public, it’s very useful now that I have just started learning about and using SuppressWarnings.
April 13th, 2009 at 1:39 pm
Man, so useful.
May 11th, 2009 at 11:21 pm
Thanks Riyad for this very useful information.
June 7th, 2009 at 7:56 am
thx riyad, this is so useful