Java学习

Java初始化对象 两个花括号{{}}

2020-08-07  本文已影响0人  xiaogp

双花括号里面就是可以直接调用其对象里面的内部方法来初始化

import java.util.*;

public class initTest {
    public static void main(String[] args) {
        mapTest();
        listTest();
        setTest();
        classTest();
    }

    /*
    初始化Map
     */
    public static void mapTest() {
        Map<String, String> map = new HashMap<String, String>() {{
            put("a", "aa");
            put("b", "bb");
            put("c", "cc");
        }};
        System.out.println(map);
    }

    /*
    初始化List
     */
    public static void listTest() {
        List<String> list = new ArrayList<String>() {{
            add("a");
            add("b");
            add("c");
            add("d");
        }};
        System.out.println(list);
    }

    /*
    初始化Set
     */
    public static void setTest() {
        Set<String> set = new HashSet<String>() {{
            add("a");
            add("b");
            add("a");
            add("c");
        }};
        System.out.println(set);
    }

    public static void classTest() {
        Person person = new Person() {{
            setName("aaa");
            setAge(13);
        }};
        System.out.println(person);
    }


}

class Person {
    String name;
    int age;

    public Person() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
上一篇下一篇

猜你喜欢

热点阅读