是否可以在运行时在java中获取String的引用名称?

时间:2012-10-12 08:15:25

标签: java

  

可能重复:
  Is it possible to get the declaration name of an object at runtime in java?

是否可以在运行时获取Java中String引用的名称?

前:

String rep="asd"; 

在这里,我可以将rep变量的名称命名为'rep'吗?

2 个答案:

答案 0 :(得分:5)

引用名称只是变量的名称。它只是指向对象的引用。

你无法在运行时获得它。主要是因为,许多引用之间可能存在冲突,可能指向该String对象,或者任何对象。

想一想: -

String str = "Rohit";
String abc = str;

现在,您有两个引用strabc指向相同的文字Rohit

所以,如果你想在运行时引用它。你会得到哪些参考?这就是Java不允许的原因。甚至不是通过Reflection

但如果您愿意,可以手动维护所有参考名称。但那将是一项乏味的工作。但我有一个问题 - > Why on earth would you need that?

答案 1 :(得分:2)

如果你问这个问题,你很可能会做错事。如果没有关于你实际做什么的更多信息,简短的回答是“不,这是不可能的”,但是,如果由于某种原因你在运行时确实需要变量名称,那么最好的方法是使用hashmap您可以在其中查看密钥的标签名称以及其中的值。