Сравнение класса дабл с примитивом дабл - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть следующий код

Map<Integer, Double> map = new HashMap<Integer, Double>();
Double number = map.get(0); //suppose this equals 1
double number2 = objectThatReturnsPrimitiveDouble.getQuantity();//suppose this equals 2
System.out.print(number < number2); //spits out true

Мне интересно, если сравнение значений number и number2 является хорошей практикой, даже если одно является примитивным типом, а другое типом Class.Или будет приемлемо изменить тип примитива number2 на Double?

Ответы [ 3 ]

2 голосов
/ 19 сентября 2019

Да, это хорошая практика.Java делает auto-unboxing Double -> double.

PS Кстати, правильное сравнение double - Double.compare(one, two) == 0

0 голосов
/ 19 сентября 2019

В вашем коде переменная номер (Double) будет автоматически помещена в примитив double.Сравнение будет работать.

Об автобоксах и распаковках вы можете прочитать здесь: https://docs.oracle.com/javase/tutorial/java/data/autoboxing.html

0 голосов
/ 19 сентября 2019

Да, сравнивать Double с double таким образом просто замечательно.Это связано с тем, что Java автоматически преобразует Double в double в любом случае с помощью автоматической распаковки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...