Long result = a.get(x) - a.get(b);
return result.intValue();
return (a.get(x) - a.get(b)).intValue();
a.get() - b.get()
, по видимости, имеет тип long, которой заворачивается (boxing) в тип Long в процессе присвоения переменной. У типа long, т.к. это примитивный тип, нет метода intValue(), поэтому его и нельзя вызвать. Можно сделать так:Long a = 1L;
Long b = 2L;
Integer c = Math.toIntExact(a + b);