Это исправлено в Hamcrest 1.3. Приведенный ниже код компилируется и не генерирует никаких предупреждений:
// given
List<String> list = new ArrayList<String>();
// then
assertThat(list, is(not(empty())));
Но если вам нужно использовать более старую версию - вместо прослушивания empty()
вы можете использовать:
hasSize(greaterThan(0))
( import static org.hamcrest.number.OrderingComparison.greaterThan;
или
import static org.hamcrest.Matchers.greaterThan;
)
Пример:
// given
List<String> list = new ArrayList<String>();
// then
assertThat(list, hasSize(greaterThan(0)));
Самая важная вещь о вышеупомянутых решениях - то, что это не генерирует никаких предупреждений. Второе решение еще более полезно, если вы хотите оценить минимальный размер результата.