for-each循环陷阱
for-each删除元素报错 public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("haha"); list.add("xixi"); list.add("hehe"); for (String s ...
for-each删除元素报错 public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("haha"); list.add("xixi"); list.add("hehe"); for (String s ...
Java遍历List有三种方式 public static void main(String[] args) { List<String> list = new ArrayList<>(); // for循环 for (int i = 0; i < list.size(); i++) { System.out.prin...
继承自 Vector,是线程安全的 在 Java 中,推荐使用 ArrayDeque 来代替 Stack,因为 ArrayDeque 是非线程安全的,性能更好 push public E push(E item) { addElement(item); return item; } 调用了 Vector 类的 addElement 方法,该方法上添加了 ...
静态内部类Node private static class Node<E> { E item; // 双向链表 Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this....
创建ArrayList 不指定初始大小 List<String> list = new ArrayList<>(); 调用无参构造方法,创建一个初始容量为10的空列表 private static final int DEFAULT_CAPACITY = 10; private static final Object[] DEFAULTCAPACI...
注解 可以被其他程序(如编译器)读取 内置注解 @Override @Deprecated @SuppressWarnings public class Test1 { // 重写的注释 @Override public String toString(){ return super.toString(); }...
不可变类 一个类的对象在通过构造方法创建后如果状态不会再被改变,那么它就是一个不可变(immutable)类。它的所有成员变量的赋值仅在构造方法中完成,不会提供任何 setter 方法供外部类去修改。 不可变类String 1)常量池的需要 字符串常量池是 Java 堆内存中一个特殊的存储区域,当创建一个 String 对象时,假如此字符串在常量池中不存在,那么就创建一个;假...
this 调用当前类的方法; this() 可以调用当前类的构造方法,但必须放在构造方法的第一行; this 可以作为参数在方法中传递; this 可以作为参数在构造方法中传递; this 可以作为方法的返回值,返回当前类的对象。 super 指向父类对象; 调用父类的方法; super() 可以调用父类的构造方法。 static 静态变量 ...
尽量不要 catch RuntimeException,比如 NullPointerException、IndexOutOfBoundsException 等等,应该用预检查的方式来规避。 尽量使用 try-with-resource 来关闭资源:禁止在 try 块中直接关闭资源,因为一旦 close() 之前发生了异常,那么资源就无法关闭 不要捕获 ...