1# Why use AutoValue? 2 3 4In versions of Java preceding 5[records](https://docs.oracle.com/en/java/javase/16/language/records.html), 6AutoValue is the only solution to the value class problem having all of the 7following characteristics: 8 9* **API-invisible** (callers cannot become dependent on your choice to use it) 10* No runtime dependencies 11* Negligible cost to performance 12* Very few limitations on what your class can do 13* Extralinguistic "magic" kept to an absolute minimum (uses only standard Java 14 platform technologies, in the manner they were intended) 15 16This 17[slide presentation] compares AutoValue to numerous alternatives and explains 18why we think it is better. 19 20[slide presentation]: https://docs.google.com/presentation/d/14u_h-lMn7f1rXE1nDiLX0azS3IkgjGl5uxp5jGJ75RE/edit 21