在使用这个泛型的地方,将? extends BasePage改为具体的泛型类型。例如:
public void printPageTitle(T page) {
System.out.println(page.getPageTitle());
}
// 调用方法时,需要指定具体的泛型类型
HomePage homePage = new HomePage();
printPageTitle(homePage); // 正确
printPageTitle(new ErrorPage()); // 编译错误
在这个示例中,使用了泛型T来表示任意一种BasePage的子类。在printPageTitle方法中,将T作为参数类型接收一个BasePage的子类对象,然后调用getPageTitle方法输出页面标题。调用方法时,需要指定具体的泛型类型,比如HomePage或者LoginPage,否则会编译错误。这样就可以避免“capture of ? extends BasePage do not match to the generic”这个错误。