'Optional' used as field or parameter type
Reports any cases in which java.util.Optional<T>
, java.util.OptionalDouble
, java.util.OptionalInt
, java.util.OptionalLong
, or com.google.common.base.Optional
are used as types for fields or parameters.
Optional
was designed to provide a limited mechanism for library method return types in which a clear way to represent "no result" was needed.
Using a field with the java.util.Optional
type is also problematic if the class needs to be Serializable
, as java.util.Optional
is not serializable.
Example:
class MyClass {
Optional<String> name; // Optional field
// Optional parameter
void setName(Optional<String> name) {
this.name = name;
}
}
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023