Generics in Java allow you to create algorithms that work with different types while maintaining type safety.
public class Box<T> { private T content; public void setContent(T content) { this.content = content; } public T getContent() { return content; } }
Generics enable you to define classes, interfaces, and methods with type parameters. This provides flexibility and type safety.
List<String> names = new ArrayList<>(); // List of Strings Map<Integer, String> map = new HashMap<>(); // Map with Integer keys and String values
Generics improve type safety and reduce runtime errors by ensuring that you use the correct type at compile time.
Using `List` instead of `List` ensures that only integers can be added to the list, preventing type errors.
The diamond operator (`<>`) allows you to omit the type parameter on the right-hand side when creating instances of generic classes.
Listnames = new ArrayList<>(); // Type is inferred from the declaration
The `super` keyword is used to specify a lower bound for a wildcard type parameter, meaning you can use that type or its superclasses.
List<? super Integer> list = new ArrayList<>(); // Can add Integer or its subclasses
Wildcards (`?`) are used to represent an unknown type. They help in writing more flexible code.
List<?> list = new ArrayList<String>(); // List of unknown type
The `extends` keyword specifies an upper bound for a wildcard or type parameter, meaning you can use that type or its subclasses.
List<? extends Number> list = new ArrayList<Integer>(); // List of Numbers or subclasses
Wrapper classes (e.g., `Integer`, `Double`) are used to wrap primitive types and allow them to be used with generics.
List<Integer> numbers = new ArrayList<>(); // Integer wraps the primitive int
Welcome to our comprehensive collection of programming language cheatsheets! Whether you're a seasoned developer or a beginner, these quick reference guides provide essential tips and key information for all major languages. They focus on core concepts, commands, and functions—designed to enhance your efficiency and productivity.
ManageEngine Site24x7, a leading IT monitoring and observability platform, is committed to equipping developers and IT professionals with the tools and insights needed to excel in their fields.
Monitor your IT infrastructure effortlessly with Site24x7 and get comprehensive insights and ensure smooth operations with 24/7 monitoring.
Sign up now!