一、包装类
数据类型:基本数据类型,引用数据类型
在Java中为每种基本数据类型分别设计了与之对应的类,称之包装类。为每个类型提供了许多供操作的方法。
基本数据类型 包装类:拆箱与装箱
Integer和int的初始值不一样
Integer:null
int:0
二、Collection集合
集合:Java提供的一个容器
数组:集合
数组可以存储基本数据类型,大小不可变
集合只能存储引用数据类型,大小的可以改变的
Java集合:
a、单列集合Collection
b、双列集合Map
Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接 口,分别是java.util.List 和java.util.Set 。其中, List 的特点是元素有序、元素可重复。 Set 的特点是元素无序,而且不可重复。
创建集合,多态的方式创建对象
如:Collection<Integer> collection = new ArrayList<>();
如果集合创建的时候没有指定数据类型,自动提升为Object类型
Collection collection = new ArrayList();
Collection常用方法
public boolean add(E e):把给定的对象添加到当前集合中。
public void clear():清空集合中所有的元素
public boolean remove(E e):把给定的对象在当前集合中删除。
public boolean contains(E e):判断当前集合是否包含给定的对象
public boolean isEmpty(E e):判断当前集合是否为空
public int size():返回集合中元素的个数
public Obiect toArray():把集合中的元素,存储到数组中。
三、迭代器Iterator
迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取 出。这种取出方式专业术语称为迭代。
常用方法:
hasNext():表示当前迭代器里面是否还有下一个元素
next():表示的就是下一个元素
四、泛型Generic
泛型:可以在类或方法中预支地使用未知的类型。
注:一般在创建对象时,将未知的类型确定具体的类型。当没有指定泛型时,默认类型为Object类型。
1、使用泛型的好处:
a、将运行时期的ClassCastException,转移到了编译时期变成了编译失败。
b、避免了类型强转的麻烦。
2、泛型的定义与使用
a、定义含有泛型的类:
修饰符 class 类名<代表泛型的变量> { }
使用:在创建对象的时候确定泛型
b、定义含有泛型的方法:
修饰符 <代表泛型的变量> 返回值类型 方法名(参数){ }
使用:调用方法时,确定泛型的类型
c、定义含义泛型的接口
修饰符 interface 接口名<代表泛型的变量> {}
使用:定义类时确定泛型的类型
始终不确定泛型的类型,直到创建对象时,确定泛型的类型
3、泛型通配符
不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符。此时只能接受数据,不能往该集合中存储数据。
泛型的上下限
Collection <?> ?表示的是匹配一切类型
泛型的上限
类型名称 <? extends 类> 对象名称
当前类和指定类的子类可以匹配
泛型的下限
类型名称 <? super 类> 对象名称
只能接受该类型及其父类
比如:现已知Object类,String 类,Number类,Integer类,其中Number是Integer的父类