Хотя этот монолог между вами и вами, сэр Ланселот, имеет давнюю историю и возник в средние века, я должен честно предупредить путешественников, которые могут захотеть отнести это древнее знание в их библиотеку.
Если вы хотите узнать, больше ли $ P {sectionId}, чем новое целое число ("0"), то ваше решение даст значение true, даже если $ P {sectionId} меньше, чем новое целое число ("0").
Причина:
(new Integer("-5")).compareTo(new Integer("0"))
приведет к:
-1
, который не будет 0, как в:
$P{sectionId}.compareTo(new Integer("0")) != 0
и, следовательно, условие также будет истинно .
Просто используйте:
$P{sectionId}.compareTo(new Integer("0")) == 1
Помните:
x.compareTo(0) == 1 (if x > 0)
x.compareTo(0) == 0 (if x == 0)
x.compareTo(0) == -1 (if x < 0)
Извините, если вы уже знаете основы, и ваш второй пост был просто для того, чтобы показать общий способ решения проблемы, но я подумал, что если новичок читает ваш первый пост, он / она может предположить, что кто-то может найти числа больше 0, с объявленным решением.