第一种情况:
import java.util.Arrays; import java.util.List; publicclassarraystest { publicstaticvoidmain (string [ ] args ) { String[] str={'a '、' b '、' c '、' d'}; liststringlist=arrays.as list (str; list.add(e ); } exceptioninthread ' main ' Java.lang.unsupportedoperationexceptionatjava.base/Java.util.abstract list.add (abstract list.add ava.util.abstract list.add (abstract list.Java 336011 ) ataraystion
import java.util.Arrays; import java.util.List; publicclassarraystest { publicstaticvoidmain (string [ ] args ) { String[] str={'a '、' b '、' c '、' d'}; liststringlist=arrays.as list (str; str[0]='e '; system.out.println('list='list ); }} list=[e,b,c, d]源代码@ safe varargs @ suppress warnings (' varargs ' ) publicstatictlisttaslist ) t.a ) returnneetwork } privatestaticclassarraylisteextendsabstractlisteimplementsrandomaccess,Java.io.serializable { privatestaticfinalllongserverververate Arraylist(e[]Array ) a=objects.requirenonnull ) Array; (//)私有金融[ ] a;
a=objects.requirenonnull(Array );
从上面两行代码可以看出,本质是数组。 因此,Arrays.asList ) )可以被认为是将数组类型的数据转换为集合容器类型的数据适配器。
参考资料《Java开发手册(嵩山版)》/P17
《设计模式之美》/51 |适配器模式:代理、适配器、网桥、装饰,这四种模式有什么区别?