Advantage
Provide meaningful of an object info to client.
Disadvantage
Constrain the ability of changing the toString() implementation since this will affect the client who use this formatted string as persistence.
Note
/**
* Returns the string representation of this phone number.
* The string consists of fourteen characters whose format
* is "(XXX) YYY-ZZZZ", where XXX is the area code, YYY is
* the prefix, and ZZZZ is the line number. (Each of the
* capital letters represents a single decimal digit.)
*
* If any of the three parts of this phone number is too small
* to fill up its field, the field is padded with leading zeros.
* For example, if the value of the line number is 123, the last
* four characters of the string representation will be "0123".
*
* Note that there is a single space separating the closing
* parenthesis after the area code from the first digit of the
* prefix.
*/
@Override public String toString() {
return String.format("(%03d) %03d-%04d",
areaCode, prefix, lineNumber);
}
Effective Java 10 Always override toString() method,布布扣,bubuko.com
Effective Java 10 Always override toString() method
原文:http://www.cnblogs.com/haokaibo/p/3583105.html