java - 返回java中的对象名

标签 java reflection

现在我想写一个这样的方法:

public String getObjName(Object obj)

该方法返回该对象的名称,例如,

Student stu = new Student();
String objname = getObjName(stu);

那么 objname 将为“stu”。

我学到了很多关于java反射的知识,但我仍然对这个问题感到困惑,每个提示都会有所帮助。

最佳答案

首先我认为这是不可能的。原因是您不会获得对象的名称,而是获得对其的引用。看例子:

    Student stu = new Student();
    Student stu2 = stu;
    String objname = getObjName(stu);

你认为它会写哪个名字?您可以获取实例的类的名称,但可以获取实例引用变量的名称,我不这么认为。

此外,字节码中的变量引用表示并不总是与您在代码中看到的相同。

关于java - 返回java中的对象名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18999326/

相关文章:

java - 当前方法的完全限定方法名称

java - 使用反射完全妥协对普通 java 中方法的限制访问 - 为什么这是可能的?

c# - GetMethod 重载返回 null

java - 是否可以使用 jni 增强反射性能?

c# - 在生产环境中使用 StackTrace 类获取调用方法信息

java - 检测当前线程是否为 ExecutorService 线程

java - 按下按钮时如何更改 ImageView 的图标?

java - OptaPlanner 了解规则

java - java中使用洪水填充来填充对象

java - 验证方法应该返回 null 还是 AuthentificationException?