如何获取变量名?-JAVA

如何获取变量名?-JAVA,java,Java,是否可以获取变量名 例如: String nameOfCar = "audi"; 现在打印结果: System.out.println(nameOfCar.getVname???or something similar); 屏幕: nameOfCar 您可以通过反射获得所有字段名 Class yourClass = YourClass.class Field[] fields = yourClass.getFields(); for(Field f: fields){ f.getN

是否可以获取变量名

例如:

String nameOfCar = "audi";
现在打印结果:

System.out.println(nameOfCar.getVname???or something similar);
屏幕:

nameOfCar

您可以通过反射获得所有字段名

Class yourClass = YourClass.class
Field[] fields = yourClass.getFields();
for(Field f: fields){
    f.getName();
}
Class  myClass = MyClass.class
Field field = myClass.getField("nameOfCar ");
System.out.println(field .getName());
或者,如果您想要映射,请选择映射

Map<String, String> propertyToValueMap
映射属性ToValueMap

若您试图读取方法的局部变量名,那个么获取您做错了的信号并不是那个么简单,您可以通过反射来实现

Class yourClass = YourClass.class
Field[] fields = yourClass.getFields();
for(Field f: fields){
    f.getName();
}
Class  myClass = MyClass.class
Field field = myClass.getField("nameOfCar ");
System.out.println(field .getName());
要获取所有字段而不使用名称,可以执行以下操作

Field[] myFields = myClass .getFields();

您需要它做什么?为什么不直接使用
“nameOfCar”
?在Java中,变量名只在编译时可用。运行程序时它们不可用。@KorayTugay当然有可能。反思是有原因的。(只是慢了。)@哦,对不起,那是不可能的。我想OP是在谈论类的字段。请也谈谈方法变量。为了访问私有字段,请使用“yourClass.getDeclaredFields()”按字段名查找字段名以获得字段名?您将获得
字段对象
。根据OP,他可以使用字段名
nameOfCar.getVname