An immutable sequence of characters. When created by the same
implementation, objects implementing this interface must obey the
general
equals contract when compared
with each other. Therefore,
Name
objects from the same
implementation are usable in collections while
Name
s from
different implementations may not work properly in collections.
An empty Name
has a length of zero.
In the context of annotation
processing, the guarantees for "the same" implementation must
include contexts where the API mediated side effects of processors could be visible
to each other, including successive annotation processing
rounds.