TGViewer
Библиотека джависта | Java, Spring, Maven, Hibernate Библиотека джависта | Java, Spring, Maven, Hibernate @javaproglib · 22K subscribers
Post #7894 978
🧠 Почему BigDecimal считает 2.0 и 2.00 разными

Что выведут эти две строки?

var a = new BigDecimal("2.0");
var b = new BigDecimal("2.00");

System.out.println(a.equals(b));
System.out.println(a.compareTo(b));


❤️ true и 0
🔥 false и 0
👍 false и -1

👇 Правильный ответ:
false и 0.

equals() сравнивает и числовое значение, и scale: у 2.0 он равен 1, у 2.00 — 2. А compareTo() сравнивает значения, поэтому возвращает 0.

Когда проверяете равенство сумм по величине, нужен compareTo() == 0. Но ключи HashMap и элементы HashSet используют equals() и hashCode(): эти объекты останутся разными.


🔗 Источник

══════ Навигация ══════
Вакансии • Задачи • Собесы

🐸 Библиотека джависта

#CoreJava
  • 🔥 14
More from @javaproglib
  1. Oct 12, 2026👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефо…
  2. Oct 10, 2026Post #7892
  3. Oct 10, 2026Read. Write. Edit. Bash. Это базовый набор операций Pi — агента, на котором построен OpenC…
  4. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  5. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  6. Sep 30, 2026🫡 Шпаргалка по аннотациям Spring Boot @Autowired, @RestController, @Transactional, @Cache…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →