``++AtomicInteger++``, and ``++AtomicLong++`` extend ``++Number++``, but they're distinct from ``++Integer++`` and ``++Long++`` and should be handled differently. ``++AtomicInteger++`` and ``++AtomicLong++`` are designed to support lock-free, thread-safe programming on single variables. As such, an ``++AtomicInteger++`` will only ever be "equal" to itself. Instead, you should ``++.get()++`` the value and make comparisons on it.
This applies to all the atomic, seeming-primitive wrapper classes: ``++AtomicInteger++``, ``++AtomicLong++``, and ``++AtomicBoolean++``.