for增强
关于for增强:
语法:
for(类型 变量: 数组名/变量名){}
集合想要使用for增强必须使用泛型,如果不使用泛型的话for类型中声名Object。
for增强没有下标,for循环有下标。
示例代码01:
public class ForEachTest01 { public static void main(String[] args) { // 创建int类型数组 int[] i1 = {1,342,34,6,5}; // for增强 for(int a:i1) { // 注意:a变量是集合/数组中的每个元素,而不是每循环一次的值 System.out.println(a); } System.out.println("!!!!!!!!!!!!!!!!!!!!!!"); // 创建集合 SortedSet<Test01> s1 = new TreeSet<>(); Test01 t1 = new Test01("Jack",5); Test01 t2 = new Test01("Array",3); Test01 t3 = new Test01("Teat",12); // 集合添加元素 s1.add(t1); s1.add(t2); s1.add(t3); for (Test01 a:s1) { System.out.println(a); } } } class Test01 implements Comparable { private String a; private int age; @Override public int compareTo(Object o) { int age1 = this.age; int age2 = ((Test01)o).getAge(); if (age1>age2) { return 1; }else if (age1<age2) { return -1; } return 0; } public Test01(String a, int age) { this.a = a; this.age = age; } public String getA() { return a; } public void setA(String a) { this.a = a; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Test01 test01 = (Test01) o; return age == test01.age && Objects.equals(a, test01.a); } @Override public int hashCode() { return Objects.hash(a, age); } @Override public String toString() { return "Test01{" + "a='" + a + '\'' + ", age=" + age + '}'; } }