相关疑难解决方法(0)

从类中打印所有变量值

我有一个类,其中包含一个看起来像这样的人的信息:

public class Contact {
    private String name;
    private String location;
    private String address;
    private String email;
    private String phone;
    private String fax;

    public String toString() {
        // Something here
    }
    // Getters and setters.
}
Run Code Online (Sandbox Code Playgroud)

我想toString()返回this.name +" - "+ this.locations + ...所有变量.我试图使用这个问题所示的反射实现它,但我无法设法打印实例变量.

解决这个问题的正确方法是什么?

java reflection

65
推荐指数
6
解决办法
11万
查看次数

我可以使用Java反射获取有关局部变量的信息吗?

我需要知道局部变量的类型.我正在使用Java反射,使用它我无法得到它.能告诉我如何知道局部变量的类型/名称吗?

我可以使用Java反射获取有关局部变量的信息吗?

java reflection

18
推荐指数
3
解决办法
1万
查看次数

通过反射访问main方法中的局部变量

只是玩弄Java反射,我想我大部分时间都掌握了它。我从这个问题/答案中了解到,在大多数情况下,我仅限于静态变量。如果我有该类的实例,则可以访问非静态变量,这确实有意义,我得到了很多。

说我有以下两节课:

public class A
{
    private static int _staticInt;

    public static void main(String[] args)
    {
        B instanceOfB = new B();
    }
}

public class B
{
    private int _nonStaticInt;
    public Game() {}
}
Run Code Online (Sandbox Code Playgroud)

我知道如何访问_staticInt,这不是问题。我的理解是,我可以以相同的方式获得Fieldfor 。从其他研究(javadocs,trails等)中,我收集到需要一个实例才能获得的值。_nonStaticIntField f = B.class.getDeclaredField("_nonStaticInt");B_nonStaticInt

所以我的问题;由于main是静态的,因此可以访问instanceOfB以便访问的值_nonStaticInt吗?我认为这是不可能的,但是我认为在放弃这个想法之前,最好先咨询比我自己知识渊博的人。

java reflection

5
推荐指数
1
解决办法
2928
查看次数

标签 统计

java ×3

reflection ×3