Homework 3: 04/05/2025

Create a MyMath class with five methods

1. add<T extends Number>

Uses Bounded Type Parameters to safely add any numeric type.

public static <T extends Number> double add(T first, T second) { ... }
2. printOnlyIntegerClassorSuperClass

Uses Lower Bounded Wildcard (? super Number) to accept Number or parent classes.

public static void printOnlyIntegerClassorSuperClass(List<? super Number> list) { ... }
3. printlist

Uses Unbounded Wildcard (?) to accept any list for printing.

private static void printlist(List<?> list) { ... }
4. printwithextend

Uses Upper Bounded Wildcard (? extends Number) for reading numeric subtypes.

public static void printwithextend(List<? extends Number> list) { ... }
5. sum

Uses Upper Bounded Wildcard to calculate the total of numeric lists.

private static double sum(List<? extends Number> list) { ... }

Expected Console Output

Calling Generics Method ADD
Adding 10 + 12= 22.0
Adding 5.5f + 5.5f= 11.0
Adding 5.5d + 5.5d= 11.0
----------------------------------------
Calling Generics Method With lower bound (super)
[4, 5, 6, 7]
----------------------------------------
Calling Generics Method With upper bound (extends)
[4, 5, 6, 7]
----------------------------------------
Calling Generics Method With Unbounded (unknown)
[4, 5, 6, 7]
----------------------------------------
Calling Sum method
Total sum of arrays is :22.0