Using @SuppressWarnings("unused") annotation on declaration section
java
Solution
If you reeeeealy want to keep all those unused constants, a quick and dirty trick would be;
public class MyClass {
//Variables
private int counter;
@SuppressWarnings("unused")
private static final class UnusedConstants{
private final String ACCEPT = "Yes";
private final String DENY = "No";
private final String TENTATIVE = "Maybe";
private final String POSTPONE = "Later";
}
}
And i would make them static too, but your call.
EDIT: Or, what i think is much nicer:
public class MyClass {
private enum Answer {
ACCEPT ("Yes"),
DENY ("No"),
TENTATIVE("Maybe"),
POSTPONE("Later");
private final String answer;
private Answer(String answer) {
this.answer = answer;
}
public String toString() {
return answer;
}
}
}
This way you don't get the unused warning as long as you use at least one of the values.
Problem
I have a basic question relating to the `@SuppressWarnings("unused")` annotation. Basically, I would like to suppress unused warnings on a block of code in my declarations section of my class. I would prefer not to suppress unused warnings on the entire class. Currently, I am doing this: ``` public class MyClass { //Constants private final String ACCEPT = "Yes"; @SuppressWarnings("unused") private final String DENY = "No"; //Not currently used private final String TENTATIVE = "Maybe"; @SuppressWarnings("unused") private final String POSTPONE = "Later"; //Not currently used //Variables private int counter; .... ``` I find the above code to be a bit messy with the annotations thrown in randomly like that. What I would like to do is something like: ``` //Constants @SuppressWarnings("unused") { private final String ACCEPT = "Yes"; private final String DENY = "No"; //Not currently used private final String TENTATIVE = "Maybe"; private final String POSTPONE = "Later"; //Not currently used } //Variables private int counter; .... ``` This is, of course, illegal in Java as a block cannot be simply made like this. Its not a huge deal or anything, but I am curious if I am missing an obvious and elegant solution.