BEST PRACTICES FOR JAVA GENERICS

  1. Use Generics to Enforce Type Safety
  2. Use Bounded Type Parameters
  3. Prefer Generic Methods
  4. Avoid Using Wildcards in Return Types
  5. Use Wildcards for Flexibility in Method Parameters
  6. Prefer Interfaces to Implementations in Generic Types
  7. Avoid Overuse of Bounded Wildcards
  8. Leverage Type Inference with the Diamond Operator
  9. Avoid Mixing Generic and Non-Generic Code
  10. Understand and Use Generic Type Erasure

what is Abstract class?