如何对变量值进行排序,然后按顺序打印它们,从大到小?

时间:2013-09-24 15:22:50

标签: java variables sorting

我想对变量列表进行排序,从最大到最小,然后打印出变量的名称。我已经尝试过Arrays,但是当打出数组时,会打印出变量的值,而不是名称。

2 个答案:

答案 0 :(得分:6)

打印出变量名称介于极其棘手的问题之间(按照.class文件的搜索顺序和希望最好的文件)和downright impossible。如果我是你,我会使用Map,你可以在其中将变量值映射到代码中的“名称”,然后你可以对键进行排序并按顺序打印值。


在我链接的问题的答案中概述了访问变量名称的问题,但基本问题是:如果我有一个没有为其定义名称的对象怎么办?如果单个对象有多个名称怎么办?

答案 1 :(得分:0)

据我所知,您无法在java中打印堆栈变量的名称,因为该数据在运行时不存在。 您可以将变量包装在类中并覆盖其toString()方法。 例如,而不是

int x = 3;

使用:     public class Wrapper {     私有最终int值;     private final String name;

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");