今天在做数组循环时,由于不需要考虑索引值,因此想用迭代器的方式去实现,在网上查了一下竟然都是ArrayList获取迭代器的,或者就是把array转成ArrayList再获取迭代器。但是我是想直接获取数组的iterator。
思路:数组是内存地址连续的内存集合,只要获取数组对象的首地址就能获取到其首个对象,然后通过地址指针的移动就可以实现迭代的功能。因此数组使用迭代器应该是可行的。
Annotation[] annotations = XXX.getClass().getAnnotations();
Iterator<Annotation> iterator = Arrays.stream(annotations).iterator();
while(iterator.hasNext()) {
Annotation ann = iteraotr.next();
System.out.println(ann.getClass());
}