private List<Movie> movieItems = null;
public List<Movie> getMovieItems() {
final int first = 0;
if (movieItems == null) {
getPagingInfo();
movieItems = jpaController.findRange(new int[]{pagingInfo.getFirstItem(), pagingInfo.getFirstItem() + pagingInfo.getBatchSize()});
Collections.sort(movieItems, new Comparator(){
public int compare (Object o1, Object o2){
Date d1 = movieItems.get(((Movie)o1).getMovieId()).getDate();
Date d2 = movieItems.get(((Movie)o2).getMovieId()).getDate();
if(d1.before(d2)){
movieItems.set(1, (Movie)o1);
movieItems.set(2, (Movie)o2);
}
return first;
}
});
}
return movieItems;
}
jpaController将带回4部电影,并给我以下内容
java.lang.ArrayIndexOutOfBoundsException:数组索引超出范围:4位于位于entitybeans.jsf.PeliculaController$1.compare(PeliculaController.java:260)的java.util.Vector.get(Vector.java:694)位于java.util.Arrays.mergeSort(Arrays.java:1270)位于位于java.util.Collections.sort(Collections.java:159)的java.util.Arrays.sort(Arrays.java:1210)位于entitybeans.jsf.PeliculaController.getPeliculaItems(PeliculaController.java:257)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at javax.el.BeanELResolver.getValue(BeanELResolver.java:302) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175) at com.sun.faces.el.FacesCompositeELResolver.getValue(com.sun.el.parser.AstValue.getValue(AstValue.java:116) at com.sun.el.parser.AstValue.getValue(AstValue.java:163)....
的FacesCompositeELResolver.java:72)
https://stackoverflow.com/questions/5207029
复制相似问题