首先看起来并不像这样,这可能是可能的,所以最好听一些设计模式或解决方法来完成此工作。基于接口的类对象中的类文字
我需要提供一个类文字为Class<T>
的外部库,以便它能够从dynamodb中找到正确的类型和注释。这是签名
public <T> T load(java.lang.Class<T> clazz, java.lang.Object hashKey)
但是在我的应用程序中,所需的类类型是动态的,并且从接口动态解析。
这里是一个例子,我从接口动态地解析类的全名。
String dynamoDBTypeName = getDynamoDBClassName(someInterface);
Class<?> clazz = Class.forName(dynamoDBTypeName);
,然后我需要转换clazz中类文字,因此它可以被传递给
mapper.load(SomeClazz.class, hashKey)
我无法找到如何类对象转换为类字面这样我就可以解决将实际类型传递给lib。有这样的吗?还是有更动态的解决类接口的类文字的优雅解决方案?
我不知道你的意思是将类对象转换为类文字。类的文字就像'String.class'。如果通过执行'Class.forName'获得该对象,那么将其转换为文字意味着什么? –
按类对象我的意思是类>和类文字是一个类 –
Sergey
哦,我明白了。在这种情况下,如果没有不受控制的演员,你无法做到这一点。 '类 clazz =(Class )Class.forName(...)'。 –