1 @SuppressWarnings注解用法
该批注的作用是给编译器的一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。
也就是说,你加了个这个批注,那么你这块的代码的某些警告就不报了,最常见的比如定义了个变量,
然后又不用人家。再看这条批注是@SuppressWarnings后面有个S,这就说明警告有很多啊,
有的你可以忽视有的不能忽视啊,所以你得知道啥时候用啥@SuppressWarnings的啥批注,
all----抑制所有警告
boxing----抑制装箱、拆箱操作时候的警告
cast----抑制映射相关的警告
dep-ann----抑制启用注释的警告
deprecation----抑制过期方法的警告
fallthrough----抑制在switch中缺失breaks的警告
finally----抑制finally模块没有返回的警告
hiding----
incomplete-switch----忽略没有完整的switch语句
nls----忽略非nls格式的字符
null----忽略对null的操作
rawtypes----使用generics时忽略没有指定相应的类型
restriction----
serial----忽略在serializable类中没有声明serialVersionUID变量
static-access----抑制不正确的静态访问方式警告
synthetic-access----抑制子类没有按最优的方法访问内部类的警告
unchecked----抑制没有进行类型检查操作的警告
unqualified-field-acces----抑制没有权限访问的域的警告
unused----抑制没被使用过的代码额警告
抑制单类就@SuppressWarings(“XXX”)
抑制多类就@SuppressWarings(value={“XXX”,“XXX”})
2 ArrayList的(add、get、remove)底层实现
add
add重载
get
set
remove
3 既然有数组array为什么还需要Arraylist(底层还是数组)
4 关于数组Array和链表Node的垃圾回收问题
就是说数组Array不会收缩,数组不会被垃圾收回
然而链表Node的优点是,当元素被移除时,它就会缩小,而未使用的节点可以立即被垃圾回收
5 节点Node组成的链表LinkedList的底层实现(indexOf、add、getNode、remove)
indexOf
add、getNode
remove