1# AutoValue 2 3*Generated immutable value classes for Java 7+* <br /> 4***Kevin Bourrillion, Éamonn McManus*** <br /> 5**Google, Inc.** 6 7**Value classes** are extremely common in Java projects. These are classes for 8which you want to treat any two instances with suitably equal field values as 9interchangeable. That's right: we're talking about those classes where you wind 10up implementing `equals`, `hashCode` and `toString` in a bloated, repetitive, 11formulaic yet error-prone fashion. 12 13Writing these methods the first time is not too bad, with the aid of a few 14helper methods and IDE templates. But once written they continue to burden 15reviewers, editors and future readers. Their wide expanses of boilerplate 16sharply decrease the signal-to-noise ratio of your code... and they love to 17harbor hard-to-spot bugs. 18 19AutoValue provides an easier way to create immutable value classes, with a lot 20less code and less room for error, while **not restricting your freedom** to 21code almost any aspect of your class exactly the way you want it. 22 23For more information, consult the 24[detailed 25documentation](userguide/index.md) 26