可能重复:
How to determine the class of a generic type?
How to obtain class instance generic argument type
我有一些c#代码:
public static class ServiceLocator
{
private static Dictionary<Type, Type> services = new Dictionary<Type, Type>();
public static void RegisterService<T>(Type service)
{
services[typeof (T)] = service;
}
...
}
我想在java上编写相同的逻辑。我怎样才能获得泛型T的类型(T.getClass()无效)
比如c#中的typeof (T)
答案 0 :(得分:2)
答案 1 :(得分:0)
这是不可取的,但是您可以检查isAssignableFrom(Class cls)以查找您期望的所有类,但听起来这里可以实现更好的设计(不涉及类型检查)