Conclusion
This article revealed that generics are language features that promote type safety at compile time, so that you don’t have to track down the sources of thrown ClassCastExceptions at runtime and deal with angry clients.
Now that you know what generics are and why they exist, you’re ready to dive deeper into this technology. Part 2 of this series introduces you to various language features in the context of a generic Stack type. After learning how to declare this type generically, you’ll learn about bounded type parameters, type parameter scope, and wildcard arguments.