Step 1: Understanding Generics in Java Generics provide compile-time type safety and eliminate the need for explicit type casting in Java Collections.
Step 2: Evaluating the Statements
- (A) Correct: Generics shift type-checking to the compiler, reducing runtime errors.
- (B) Correct: With generics, explicit downcasting is not required when retrieving elements from collections.
- (C) Correct: Generics allow defining a single class (e.g., `LinkedList` \(<T>\)) rather than multiple versions for different data types.
- (D) Incorrect: This statement contradicts the correct behavior of generics.