温馨提示×

如何通过Java泛型extends提高代码复用性

小樊
81
2024-09-29 22:57:15
栏目: 编程语言

在Java中,泛型extends关键字允许你限制泛型类型参数必须是某个类的子类或实现某个接口。这样可以提高代码复用性,因为你可以编写一个通用类或方法,它可以处理多种类型,而不仅仅是单一的类型。以下是如何使用泛型extends来提高代码复用性的示例:

  1. 创建一个泛型类,限制类型参数必须是某个类的子类:
public class GenericBox<T extends Number> {
    private T value;

    public void setValue(T value) {
        this.value = value;
    }

    public T getValue() {
        return value;
    }

    public double doubleValue() {
        return value.doubleValue();
    }

    public int intValue() {
        return value.intValue();
    }
}

在这个例子中,GenericBox类可以用于任何Number子类,如IntegerDouble等,但不能用于非Number类型。这样,你可以创建一个GenericBox实例来存储任何数字类型的值,并使用相应的方法来获取其值。

  1. 创建一个泛型方法,限制类型参数必须是某个类的子类:
public class GenericHelper {
    public static <T extends Number> double add(T a, T b) {
        return a.doubleValue() + b.doubleValue();
    }
}

在这个例子中,add方法接受两个类型为T的参数,其中T必须是Number的子类。这样,你可以使用这个方法来添加任何数字类型的值,如IntegerDouble等。

通过使用泛型extends,你可以编写更通用、更灵活的代码,从而提高代码复用性。

0