HA

java中不常用的语法

双花括号初始化

有时候写测试代码,需要新建hashmap或者list并赋值的时候,可以用双花括号初始化简化代码,但是据说有内存泄漏的风险,所以测试以外不要用

Set<String> countries = new HashSet<String>() {
    {
       add("India");
       add("USSR");
       add("USA");
    }
};

初始化内部类

OuterClass outerObject = new OuterClass();
OuterClass.InnerClass innerObject = outerObject.new InnerClass();

初始化静态内部类

StaticNestedClass staticNestedObject = new StaticNestedClass();

List和Array转换

// List -> Array
Foo[] array = list.toArray(new Foo[0]);
// Array -> List
Arrays.asList(new String[]{"1","2"})
// 用一个值覆盖array中的所有元素
Arrays.fill(array, -1);

reference