如何获取传递给方法的参数的类型参数?比如我有
List<Person> list = new ArrayList<Person>();
public class Datastore {
public <T> void insert(List<T> tList) {
// when I pass the previous list to this method I want to get Person.class ;
}
}
Run Code Online (Sandbox Code Playgroud)
Den*_*sca 10
由于类型擦除,您可以这样做的唯一方法是将类型作为参数传递给方法.
如果您可以访问数据存储区代码并且可以修改,则可以尝试执行以下操作:
public class Datastore {
public T void insert(List<T> tList, Class<T> objectClass) {
}
}
Run Code Online (Sandbox Code Playgroud)
然后通过这样做来调用它
List<Person> pList = new ArrayList<Person>();
...
dataStore.insert(pList, Person.class);
Run Code Online (Sandbox Code Playgroud)
我在这类问题中看到的每个响应都是将类作为参数发送给方法.
| 归档时间: |
|
| 查看次数: |
11329 次 |
| 最近记录: |