Lambda表達式中類型推斷

   Lambda表達式中類型推斷,是java7中引入目標類型推斷的拓展。

   java7中的菱形操作符,使javac推斷處反省參數的類型。

	/**
	 * lambda表達式中類型推斷
	 */
	public static void targetType() {
		// new HashMap<String, Integer>指定泛型類型
		Map<String, Integer> wordcounts = new HashMap<String, Integer>();
		// 使用菱形操作符<>,new HashMap<>不用明確泛型類型,編譯器就可以推斷出。
		Map<String, Integer> diamond = new HashMap<>();
		// 傳遞方法參數,根據形式參數做類型推斷
		targerTpyeMethod(new HashMap());
		
		// lambda表達式類型推斷,函數接口必須指明泛型類型,其他類型可以不用指明,可以進行推斷。
		Predicate<Integer> atLeast = x -> x > 5;
		
		// The operator > is undefined for the argument type(s) Object, int
		Predicate wrongLeast1 = x -> x > 5;
		// Lambda expression's parameter x is expected to be of type Object
		Predicate wrongLeast2 = (Integer x) -> x > 5;
		
		
	}
	
	private static void targerTpyeMethod(Map<String, String> values){
		
	}
  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章