创建一个不能修改的List

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class UnmodifiableList {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    List l = java.util.Arrays.asList("asdf", "java");
    System.out.println(unmodifiableList(l));
}
/**
 * @return an <b>UNMODIFIABLE</b> List&lt;T&gt;
 */
public static <T> List<T> unmodifiableList(final List<? extends T> l) {
    return (l == null) ? Collections.<T> emptyList() : Collections
            .unmodifiableList(l);
}

public static <T> List<T> asList(final Iterable<? extends T> iterable) {
    return (iterable instanceof Collection) ? new LinkedList<T>(
            (Collection<? extends T>) iterable) : new LinkedList<T>() {
        private static final long serialVersionUID = 3109256773218160485L;
        {
            if (iterable != null) {
                for (final T t : iterable) {
                    add(t);
                }
            }
        }
    };
}

public static <T> List<T> asList(final T t, final T... ts) {
    final ArrayList<T> list = new ArrayList<T>(ts.length + 1);
    list.add(t);
    Collections.addAll(list, ts);
    return list;
}

}
Console:
[asdf, java]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容