我有一个名为“Test”的类,我将其作为 Test.class
传递给方法。这将是 Class<T> clazz
类型.
我需要从那个 clazz 变量调用类 Test 的 toString() 方法。我们可以使用反射而不将 clazz 类型转换为测试来做到这一点吗?
最佳答案
首先从 clazz 变量创建对象,然后调用该对象的 toString()
方法。
clazz.newInstance().toString();
如果你有一个默认的构造函数那么它也可以工作:
clazz.getConstructor().newInstance().toString();
更新: 如果你想做一般的测试功能,那么你必须像这样实现测试功能。
public void TestToString(Object obj,String expectedVal){
assertEquals(obj.toString(),expectedVal);
}
关于java - 从 .class (Class<?>) 调用 Object 的 toString() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55239721/