泛型和集合的概念:
泛型:泛型决定了集合中存储数据的类型。
集合:由若干个确定的元素所构成的整体。
泛型最常与集合使用,因为泛型最开始开始被加入Java就是为了解决集合向下转型一类问题的。
所以一般建议结合起来理解,单独理解泛型或集合有点抽象。
ArrayList是采用类型参数的泛型类,idea中现成的泛型类。
个人理解集合是存放对象的仓库,而使用泛型可以限制放入仓库中对象的类型。
例如下面的例子:
ArrayList Test = new ArrayList<>();
Test.add("a");
Test.add(123);
ArrayList <String>TestOne = new ArrayList<>();
TestOne.add("a");
//TestOne.add(123);
例子中没有使用泛型则在Test仓库中可以存放"a",123,等不同类型的对象,
而使用泛型则只能存放String类型的对象,如果加不是String类型的对象则会编译阶段报错(例子中注释为报错的一行代码)。