我想对我的变量列表进行排序,从大到小,然后打印出变量的名称。我已经尝试过数组,但是在打印出数组时,它会打印出变量的值,而不是名称。
user2811760
问问题
250 次
2 回答
6
打印出变量名介于极其棘手(按照搜索.class
文件并希望获得最佳结果的顺序)和完全不可能之间的某个位置。如果我是你,我会改用 a Map
,你可以在代码中将变量值映射到它们的“名称”,然后你可以对键进行排序并按顺序打印值。
我链接的问题的答案很好地概述了访问变量名称的问题,但基本问题是:如果我有一个没有为其定义名称的对象怎么办?如果一个对象有多个名称怎么办?
于 2013-09-24T15:25:33.290 回答
0
据我所知,您无法在 java 中打印堆栈变量的名称,因为该数据在运行时不存在。您可以将变量包装在一个类中并覆盖其 toString() 方法。例如,而不是
int x = 3;
使用: public class Wrapper { private final int value; 私有最终字符串名称;
public Wrapper(int value, String name) {
this.value = value;
this.name = name;
}
public String getName() {
return name;
}
public int getValue() {
return value;
}
}
Wrapper x = new Wrapper(3, "x");
于 2013-09-24T15:25:17.473 回答