用final修饰的HashMap,到底可不可以修改??

126 阅读1分钟

写在前面

    我们都知道,final修饰的类不能被继承、修饰的方法不能被重写(可以被重载)、修饰的变量不能被修改。

    那么,final修饰的HashMap到底能不能修改?????

实例

    public static void main(String[] args) {
        final Map m = new HashMap<>();
        m.put("aaa", "aaa");
        System.out.println(m); // {aaa=aaa}
        m.remove("aaa");
        System.out.println(m);// {}
        //m = new HashMap();// Cannot assign a value to final variable 'm'
    }

结论

final修饰的变量,其实是它的引用不能被修改,里面的内容,比如说map、list等,是可以修改其内容的。