如果我有类似的东西
public class OwnerClass1{ public class OwnedClass{ // definition 1 }}public class OwnerClass2{ public class OwnedClass{ // definition 2 }}
从以下实现的功能:
public <OwnedClass> boolean doStuff(OwnedClass example) { System.out.println(example.<???>); // example.getClass() returns "OwnerClass1$OwnedClass" etc here, so I guess getting this to string and trimming after $ would be one solution // example.getSuperClass() returns "java.lang.Object" here, so not what I need}
我怎样才能得到如下行为:
doStuff(new OwnerClass1.OwnedClass());// OwnerClass1doStuff(new OwnerClass2.OwnedClass());// OwnerClass2
注意:上面的代码旨在粗略地了解结构,而不是开箱即用。
相关分类