首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

A <T extends B>和A <?有什么区别?延伸B>?

在Java泛型中,<T extends B>?是两种不同的通配符,它们的区别在于它们的使用场景和约束。

  1. <T extends B>:这是一个泛型类型参数,它表示类型参数T继承自类型B。这种表示法可以用于类、接口和方法。当你想要在泛型类或接口中定义一个类型参数,并且该类型参数必须是类B的子类时,你可以使用<T extends B>。例如:
代码语言:java
复制
public class MyClass<T extends Number> {
    // ...
}

在这个例子中,MyClass是一个泛型类,其类型参数T必须是Number类的子类。

  1. ?:这是一个通配符,表示未知类型。它可以用于泛型类、接口和方法。当你不关心泛型类型参数的具体类型,只需要知道它是某种类型时,可以使用?。例如:
代码语言:java
复制
List<?> list;

在这个例子中,list是一个未知类型的列表。你不知道它的具体类型,但是你知道它是某种类型。

总结:<T extends B>用于定义泛型类或接口,表示类型参数T必须是类B的子类;而?用于表示未知类型,可以用于泛型类、接口和方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券