What are the upper and lower bounds of Java function generics? how to use?
王林
Release: 2024-04-26 11:45:02
Original
612 people have browsed it
Java function generics allow setting upper and lower limits. The upper limit (extends) specifies that the data type accepted or returned by the function must be a subtype of the specified type, such as
. The lower limit (super) specifies that the data type accepted or returned by the function must be the super type of the specified type, such as
. The use of generics improves code reusability and security.
The upper and lower bounds of Java function generics
Function generics are a powerful mechanism that allows us to Specifies the data types that the function can handle. Generics in Java can declare upper and lower bounds to limit the data types accepted or returned by a function.
Upper Bound
The data type that the upper limit specified function can accept or return must be a subtype of a specified type. It is specified using the extends keyword. For example:
public void printNumber(T number) { System.out.println(number); }
Copy after login
This function can only accept types of Number or its subclasses (for example, Integer, Double, Float).
Lower Bound
The lower bound specifies that the data type that the function can accept or return must be a supertype of a specified type. It is specified using the super keyword. For example:
public void sumNumbers(List numbers) { double sum = 0; for (T number : numbers) { sum += number.doubleValue(); } }
Copy after login
This function can accept a Number or a list of its supertypes, such as List