让 java.util.List 不可修改

如下两种方式,可以实现:

                     Collections.unmodifiableList(list);

                     Arrays.asList(arrays);

两种示例代码如下:

......

    //此时返回的是java.util.ArrayList
    List<Character> immutablelist = Collections.unmodifiableList(list);

    // try to modify the list
    immutablelist.add('Z');
......
......
    int[] workDayArrays = {1,2,3,4,5};

    //注意:此时返回的是java.util.Arrays.ArrayList而不是java.util.ArrayList
    List<Week> list = Arrays.asList(workDayArrays);

    //增加周六也为工作日
    list.add(6);
......

编译没有任何问题,而运行结果都会抛出异常:

//编译没有任何问题,运行结果:

Exception in thread "main" java.lang.UnsupportedOperationException

猜你喜欢

转载自blog.csdn.net/HD243608836/article/details/88036742