It should be possible to suppress serial warnings that are specific to a particular declaration such as a method or field.
Suppressing warnings for the whole class will obscure multiple warnings.
One specific example is:
% javac -Xlint A.java
A.java:10: warning: [serial] serialVersionUID must be of type long in class B
private static final byte serialVersionUID = 5;
^
1 warning
%
This warning can only be suppressed at the class level and adding suppress warning("serial") on the field is ignored.
A.java:
import java.io.Serializable;
@SuppressWarnings("serial") // Testing incorrect type of serialVersionUID
class A implements Serializable {
private static final byte serialVersionUID = 5;
}
class B implements Serializable {
@SuppressWarnings("serial") // Testing incorrect type of serialVersionUID
private static final byte serialVersionUID = 5;
}
---
% java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
Suppressing warnings for the whole class will obscure multiple warnings.
One specific example is:
% javac -Xlint A.java
A.java:10: warning: [serial] serialVersionUID must be of type long in class B
private static final byte serialVersionUID = 5;
^
1 warning
%
This warning can only be suppressed at the class level and adding suppress warning("serial") on the field is ignored.
A.java:
import java.io.Serializable;
@SuppressWarnings("serial") // Testing incorrect type of serialVersionUID
class A implements Serializable {
private static final byte serialVersionUID = 5;
}
class B implements Serializable {
@SuppressWarnings("serial") // Testing incorrect type of serialVersionUID
private static final byte serialVersionUID = 5;
}
---
% java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)