我正在尝试使用以下方法查找对象-“字符串”的层次结构。

public class test{

    public static void main(String[] args){
        String x = "Test";
        System.out.println(x.getClass().getClass());
    }
}


第一个x.getclass()返回

Output:

    class java.lang.String


然后-System.out.println(x.getClass()。getClass());

Output:
       class java.lang.Class


之后的任何事情都会产生相同的结果

System.out.println(x.getClass()。getClass()。getClass()。getClass());

它在某个时候不应该导致-java.lang.Object吗?

最佳答案

由于您正在getClass()实例上调用Class,因此结果是正确的。要获取父类,应从表示子类类型的getSuperclass()实例调用Class

String x = "Test";
System.out.println(x.getClass().getSuperclass());


输出量

class java.lang.Object

关于java - 获取String对象的类型-Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19275449/

10-10 05:57