java中jdk5的新特性

java中jdk5的新特性

jdk5新特性:

  • 1.增强for循环: 使用于数组和集合
    for(元素数据类型 变量 : 数组或者Collection集合) {
    System.out.println(变量);
    }

    • 增强for循环 底层依赖的是 Iterator迭代器
    • 增强for循环,增强for循环不能删除,只能遍历
  • 2.静态导入:

    •  静态导入是导入类中静态方法
      
    • 格式: import static 包名….类名.方法名;
    • 注意事项: 方法必须是静态的,如果有多个同名的静态方法,容易不知道使用谁?这个时候要使用,必须加前缀。由此可见,意义不大,所以一般不用,但是要能看懂。
    • 静态导入开发不用,但是需要能看懂
  • 3.可变参数:

    • 定义方法的时候不知道该定义多少个参数
    • 格式: 修饰符 返回值类型 方法名(数据类型… 变量名){}
    • 注意事项:
    •  这里的变量其实是一个数组
      
    •  如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个
      
  • 4.数组转换成集合:

    • 数组转换成集合虽然不能增加或减少元素,但是可以用集合的思想操作数组,也就是说可以使用其他集合中的方法
    • 集合转数组: toArray() 数组转集合: Arrays.asList()
    • 如果从集合类中获取到数组,用toArray(),如果我们想从数组到集合用Arrays.asList()方法。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Jdk5 {
	public static void main(String[] args) {
//		demo1();
//		demo2();
		String[] arr = {"a","b","c"};
		List<String> list = Arrays.asList(arr);				//将数组转换成集合
		//list.add("d");									//不能添加
		System.out.println(list.size()); 					//可以使用集合中的其他方法
		System.out.println(list);
	}

	private static void demo2() {
		/*
		 * 可变参数
		 */
		int[] arr = {11,22,33,44,55};
		print(arr);
	}
	
	public static void print(int ... arr) {			//可变参数其实是一个数组
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}

	private static void demo1() {
		/*
		 * 增强for循环
		 */
		ArrayList<String> list = new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("b");
		list.add("c");
		list.add("d");
		
		//1,普通for循环删除,索引要--
		/*for(int i = 0; i < list.size(); i++) {
			if("b".equals(list.get(i))) {
				list.remove(i--);							//通过索引删除元素
			}
		}*/
		
		//2,迭代器删除
		/*Iterator<String> it = list.iterator();
		while(it.hasNext()) {
			if("b".equals(it.next())) {
				//list.remove("b");							//不能用集合的删除方法,因为迭代过程中如果集合修改会出现并发修改异常
				it.remove();
			}
		}*/
		
		/*for(Iterator<String> it2 = list.iterator(); it2.hasNext();) {
			if("b".equals(it2.next())) {
				//list.remove("b");							//不能用集合的删除方法,因为迭代过程中如果集合修改会出现并发修改异常
				it2.remove();
			}
		}*/
		//3,增强for循环,增强for循环不能删除,只能遍历
		for (String string : list) {
			if("b".equals(string)) {
				list.remove("b");
			}
		}
		System.out.println(list);
	}
}
发布了54 篇原创文章 · 获赞 0 · 访问量 354

猜你喜欢

转载自blog.csdn.net/qq_42977003/article/details/102879593