Tôi mới sử dụng Groovy.toán tử phân chia kỳ lạ trong Groovy
tại sao điều này ném ngoại lệ về thời gian chạy:
int[] a = [1,2,3,4,5]
int lo=0
int hi=4
int x = a[(lo+hi)/2]
assert x == 3
trong khi đây là những ok:
int x = a[(int)(lo+hi)/2]
và
int i = (lo+hi)/2
int x = a[i]
Vui lòng cho chúng tôi biết ngoại lệ. –
groovy.lang.MissingMethodException: Không có chữ ký của phương thức: [I.getAt() được áp dụng cho các loại đối số: (java.math.BigDecimal) giá trị: [2] Các giải pháp có thể có: getAt (groovy.lang.Range), getAt (java.lang.Integer), getAt (java.util.Collection), getAt (groovy.lang.ObjectRange), getAt (groovy.lang.IntRange), getAt (java.lang.String) – hint