Quellcode durchsuchen

arrays: iterator

Ranides Atterwim vor 10 Jahren
Ursprung
Commit
367e688923

+ 2 - 2
assira/src/main/java/net/ranides/assira/collection/arrays/ArrayUtils.java

@@ -194,11 +194,11 @@ public final class ArrayUtils {
         return NativeArrayUtils.concat(NativeArray.wrap(a), NativeArray.wrap(b)).$array();
     }
 
-    public static <A> Iterator<Object> iterator(A array) {
+    public static <A,T> Iterator<T> iterator(A array) {
         return NativeArrayUtils.iterator(NativeArray.wrap(array));
     }
 
-    public static <A> Iterator<Object> iterator(A array, int begin, int end) {
+    public static <A,T> Iterator<T> iterator(A array, int begin, int end) {
         return NativeArrayUtils.iterator(NativeArray.wrap(array), begin, end);
     }
 }

+ 6 - 6
assira/src/main/java/net/ranides/assira/collection/arrays/NativeArrayUtils.java

@@ -163,24 +163,24 @@ public final class NativeArrayUtils {
         return result;
     }
     
-    public static Iterator<Object> iterator(NativeArray array) {
+    public static <T> Iterator<T> iterator(NativeArray array) {
         return iterator(array, 0, array.size());
     }
 
-    public static Iterator<Object> iterator(NativeArray array, int begin, int end) {
-        return new RandomAccessIterator<Object>() {
+    public static <T> Iterator<T> iterator(NativeArray array, int begin, int end) {
+        return new RandomAccessIterator<T>() {
             @Override
             protected int size() {
                 return end-begin;
             }
 
             @Override
-            protected Object get(int index) {
-                return array.get(begin+index);
+            protected T get(int index) {
+                return (T)array.get(begin+index);
             }
 
             @Override
-            protected void set(int index, Object value) {
+            protected void set(int index, T value) {
                 array.set(begin+index, value);
             }