It seems a fairly clear message. On this line:
temp is of type int, and y[j] is of type V. V can be Number or any subclass of it, so the compiler can't tell that's going to work.
Well done. I was wondering about your arraySort method, where you seemed to be swapping every pair regardless of what order they were in! But you've fixed that now.