Используя Groovy, оператор> предупреждает, что тип соответствует неверному.
Это проблема:
def greaterThan50(nums){
def result = []
nums.each{ num ->
if(num > 50)
result << num
result
}
def test = greaterThan50([2, 3, 50, 62, 11, 2999])
assert test.contains(62)
Строка "if (num> 50)" создает предупреждение.
[Проверка статического типа] - Не удается найти соответствующий метод java.lang.Object # compareTo (java.lang.Integer). Пожалуйста, проверьте правильность заявленного типа и существует ли метод.
50 - это тип int (а также объект, как я знаю), но пример сайта такой. (сайт здесь: http://docs.smartthings.com/en/latest/getting-started/groovy-basics.html#groovy-basics)
def greaterThan50(nums){
def result = []
for (num in nums){
if(num > 50){
result << num
}
}
result
}
def test = greaterThan50([2, 5, 62, 50, 25, 88])
Как изменить код для сравнения двух типов int?