Chapter 5. Addresses
The javax.mail.Address class is very simple. It’s an abstract class that exists mainly to be subclassed by other, protocol-specific address classes:
publicabstractclassAddressextendsObject
There are two of these subclasses in the standard JavaMail API: InternetAddress for SMTP email and NewsAddress for Usenet newsgroups:
publicclassInternetAddressextendsAddresspublicclassNewsAddressextendsAddress
Providers of other mail protocols also subclass Address with classes that represent their style of address.
The Address Class
The Address class itself is extremely simple. It has only three methods, all abstract, two of which are simple utility methods that override the corresponding methods in java.lang.Object:
publicabstractStringgetType()publicabstractStringtoString()publicabstractbooleanequals(Objecto)
Since all three of these methods are abstract, there aren’t any guarantees about the methods’ semantics, since all must be overridden in subclasses. However, this does require that subclasses provide their own implementations of equals() and toString() rather than relying on the rather generic implementations available from java.lang.Object (and as always when you override equals() you should override hashCode() too). In general, the getType() method returns a string such as “rfc822” or “news” that indicates the kind of Address object this is.
The InternetAddress Class
An InternetAddress object represents an RFC 822-style email address. This is the ...