int[] arr = {0,1,2,3,4,5,6,7,8,9};
for(int i : arr){
System.out.println(i);
}
echt? nie im Leben kann der kompiler diesen gröbsten unsinn wegoptimieren:SlaterB hat gesagt.:ist doch nur Java-Quellcode, den ein Compiler sofort in eine normale Schleife optimieren kann.
public class TEST {
private static int[] range(int i){
int[] result=new int[i];
for(int j=0; j<i; j++){
result[j]=j;
}
return result;
}
public static void main(String[] args){
for(int i:range(10)){
System.out.println(i);
}
}
}
public class Range implements Iterable<Integer> {
private final int min;
private final int max;
public Range(int min, int max) {
this.min = min;
this.max = max;
}
public Iterator<Integer> iterator() {
return new Iterator<Integer>() {
int index = min;
public boolean hasNext() {
return index <= max;
}
public Integer next() {
return index++;
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}
}
//Verwendung
for (int i : new Range(10, 20)) {
System.out.println(i);
}
finde ich nicht, die sprache sollte nicht umständlich verkompliziert werdenDanke, sehr nett. Schade, dass range nicht schon seit Java 5 exestiert. Sun sollte mehr sachen aus den Skriptsprachen in Java implementieren.
Ich hoffe mal das war ein Witz. Falls es einer war, war der aber ziemlich schlecht. Falls es keiner war... ähm... :autsch:flashdog hat gesagt.:Sun sollte mehr sachen aus den Skriptsprachen in Java implementieren.