静态导入
import static java.util.Collections.*; import static java.lang.System.out;
1.如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本类的静态成员,如果需要指定使用静态导入的成员,那么需要在静态成员前面加上类名。
2.如果本类的方法和静态导入的方法参数不一致,会报错。
增强for循环
只能用在是实现了Iterable的对象使用。使用增强for循环时不能更改数组长度。
泛型
泛型作用
提供编译时异常检查,避免频繁的类型转换。
泛型擦除
public void save(List<Person> p){ } public void save(List<Dept> d){ }
可变参数列
格式
public static void add(int... arr)
1. 如果一个函数 的形参使用上了可变参数之后,那么调用该方法的时候可以传递参数也可以不传递参数。
2. 可变参数实际上是一个数组对象。
3. 可变参数必须位于形参中的最后一个参数。
4. 一个函数最多只能有一个可变 参数,因为可变参数要位于形参中最后一个位置上。
自动装箱/拆箱
Integer e = 128; Integer c = new Integer(13); int d = c;
Integer e = 128; Integer f = 128; System.out.println("同一个对象吗?"+(e==f)); // false
如果-128~127,结果为true,其他为false。Integer类内部维护了缓冲数组,该缓冲数组存储的-128~127 这些数据在一个数组中。如果你获取的数据是落入到这个范围之内的,那么就直接从该缓冲区中获取对应的数据。