NULL). In addition, the forms submitted in web applications can contain absent parameters. All web applications must deal with such possibly-
nulldata as part of normal processing.
For modeling optional data, wrapper classes such as
and so on, seem to have a significant advantage over primitives (
and so on). This is because both
NULL database fields
and missing request parameters naturally map to
object references. With primitives, there is no such natural mapping.
For instance, how would you model a person's age as an optional number,
with no reasonable default value, using an
int? The only
means is to use a magic value such as
-1. This should
likely be avoided, if possible.
JDK 1.5 introduced a language feature called autoboxing,
whereby primitives and wrappers are more or less interchangeable. However,
they are not entirely interchangeable, since wrapper objects can
null, while primitives cannot.