GWT 에뮬레이트 된 (클라이언트 측) jdk 메소드 indexOf()가 예상대로 작동하지 않습니다.GWT 에뮬레이트 된 indexOf()가 jdk에 비해 잘못되었습니다. indexOf()
예 :.
내가 3 NaN이 포함 된 목록을 가지고는 객체 :
이List<Double> doubleList = new ArrayList<Double>();
doubleList.add(Double.NaN);
doubleList.add(Double.NaN);
doubleList.add(Double.NaN);
내가 Double.NaN의 인 분 값을 검색 :
Double minValue = Collections.min(doubleList); //minValue = Double.NaN
모든 것이 클라이언트와 서버 측에서 예상 노력으로 지금까지 .
는 지금은 MINVALUE의 인덱스를 얻기 위해 노력하고 있어요 :Integer index = doubleList.indexOf(minValue);
재미가 시작하는 곳입니다. 서버 측 (단순 유닛 테스트) jdk ArrayList 클래스의 indexof() 메소드는 0
을 반환합니다. 에뮬레이트 된 ArrayList 클래스 (클라이언트 측)는 -1
이 올바르지 않은 경우를 반환하지만 분명히 그렇지 않은 경우 값이 발견되지 않으면 -1
이 반환되어야하므로 올바르지 않습니다.
왜 이런 생각입니까?
GWT 같이 IndexOf() :
int indexOf(Object o, int index) {
for (; index < array.length; ++index) {
if (Objects.equals(o, array[index])) {
return index;
}
}
return -1;
}
GWT는
정수 또는 긴 목록에도 동일한 문제가 있습니까? – vanje
@vanje Integer/Long을 테스트하지 않았습니다. 아무런 차이가 없다고 가정합니다. 이것은 NaN 객체에만 해당됩니다. – CrazySabbath