Comparando valores longos usando Collections.sort (object)

Estou tentando classificar uma lista simples de objetos por um longo - o abaixo não está funcionando porque uma das cadeias longas é empurrada para o topo simplesmente porque começa com um número menor. Então, estou procurando uma maneira de classificá-los pelos valores longos reais diretamente

A implementação atual do obj é semelhante à abaixo. Na classe que estou usando isso, chamo Collections.sort (trees);

public class Tree implements Comparable<Tree> {
    public String dist; //value is actually Long

    public int compareTo(Tree o) {
        return this.dist.compareTo(o.dist);
    }
}

questionAnswers(6)

yourAnswerToTheQuestion