gpt4 book ai didi

java - 返回 Java 中的泛型类型

转载 作者:行者123 更新时间:2023-12-01 20:26:04 26 4
gpt4 key购买 nike

我是java新手,我正在尝试实现一个通用方法:

public static  <T> T login(String username,String password)
{
//...
return PageFactory.initElements(driver,T.class);
}

这里我想传递泛型类型类,但是当我尝试 T.class 时,我收到错误:

无法从类型变量中进行选择。

我哪里出错了?

最佳答案

由于 type erasure在运行时 Tjava.lang.Object 所以这不是一个选项。如果有一个可以调用 getClass()T 实例

public static  <T> T login(String username,String password, T obj) {
// to get the class at run-time.
return PageFactory.initElements(driver,obj.getClass());
}

或者正如其他人已经指出的那样,您可以使用

public static  <T> T login(String username,String password, Class<T> cls) {
// to use the Class, passed from caller.
return PageFactory.initElements(driver,cls);
}

关于java - 返回 Java 中的泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20673593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com