Java programmers, new and old, take note: Google, et al, have simplified life for Java programmers:
To summarize, don't reinvent the wheel. If you need to do something that seems like it should be reasonably common, there may already be a class in the libraries that does what you want. If there is, use it; if you don't know, check. Generally speaking, library code is likely to be better than code that you'd write yourself and is likely to improve over time. This is no reflection on your abilities as a programmer. Economies of scale dictate that library code receives far more attention than most developers could afford to devote to the same functionality.
We'd also like to mention that:
- Guava has been battle-tested in production at Google.
- Guava has staggering numbers of unit tests: as of July 2012, the guava-tests package includes over 286,000 individual test cases. Most of these are automatically generated, not written by hand, but Guava's test coverage is extremely thorough, especially forcom.google.common.collect.
- Guava is under active development and has a strong, vocal, and involved user base.
- The best libraries seem obvious in retrospect, but achieving this state is notoriously challenging.