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