Вы не хотите преобразовывать в String
, потому что это сравнило бы числа лексикографически, а не численно.
Я возьму ваш вопрос в значении «Как создать метод compareTo()
для двойников?»
Я также думаю, что вы используете это для реализации структуры данных для парных чисел.
Вот как я бы это сделал.
Когда вы создаете структуру данных, вы создаете ее как Double
объект.
Double
- это встроенный класс в пакете java.lang
, который упаковывает примитив double
.
Затем Java автоматически приведёт их к этому типу.
Причина, по которой вы хотите использовать класс Double
в качестве определяющего типа для вашей структуры данных, заключается в том, что вы можете использовать его встроенный метод compareTo
. Невозможно сделать так, чтобы примитивный тип данных double
содержал метод compareTo
.
Вот код, который поможет вам начать, например:
TreeMap <Double, String> myDoubleMap = new TreeMap <Double, String> (10);
for (int i = 0; i < 10; i++)
myDoubleMap.put ( Math.sqrt( 10.0 * i) , "" + i);
System.out.println(myDoubleMap);
(Убедитесь, что вы импортируете java.util.TreeMap
, если хотите запустить этот пример)