001package java7; 002 003import com.sandwich.koan.Koan; 004 005import java.util.ArrayList; 006import java.util.Arrays; 007import java.util.List; 008 009import static com.sandwich.koan.constant.KoanConstants.__; 010import static com.sandwich.util.Assert.assertEquals; 011 012public class AboutDiamondOperator { 013 014 @Koan 015 public void diamondOperator() { 016 String[] animals = {"Dog", "Cat", "Tiger", "Elephant", "Zebra"}; 017 //Generic type of array list inferred - empty <> operator 018 List<String> animalsList = new ArrayList<>(Arrays.asList(animals)); 019 assertEquals(animalsList, __); 020 } 021 022 @Koan 023 public void diamondOperatorInMethodCall() { 024 String[] animals = {"Dog", "Cat", "Tiger", "Elephant", "Zebra"}; 025 //type of new ArrayList<>() inferred from method parameter 026 List<String> animalsList = fill(new ArrayList<>()); 027 assertEquals(animalsList, __); 028 } 029 030 private List<String> fill(List<String> list) { 031 String[] animals = {"Dog", "Cat", "Tiger", "Elephant", "Zebra"}; 032 list.addAll(Arrays.asList(animals)); 033 return list; 034 } 035 036}