日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java Arrays.asList使用方法解析

瀏覽:106日期:2022-09-04 10:07:17

Arrays.asList()方法的作用是將數組或一些元素轉為集合,而你得到的集合并不是我們通常使用的List集合,而是Arrays里面的一個內部類。阿里的開發手冊上java開發規范說到使用工具類Arrays.asList()方法把數組轉換成集合時,不能使用其修改集合相關的方法,它的add/remove/clear方法會拋出java.lang.UnsupportedOperationException的異常。

一、Arrays.asList的方法說明

public static void main(String[] args) { String[] strs = {'1','2','3'}; List<String> asList = Arrays.asList(strs); System.out.println(asList.size()); asList.add('4'); }

運行結果如下,asList的add和remove方法都會拋異常。

3Exception in thread 'main' java.lang.UnsupportedOperationExceptionat java.util.AbstractList.add(AbstractList.java:148)at java.util.AbstractList.add(AbstractList.java:108)at com.basic.practice.ArraysPractice.main(ArraysPractice.java:12)

而set方法,則可以正常調用。

asList.set(1, '4');

方法沒有拋異常,正常返回結果:

3[1, 4, 3]

Process finished with exit code 0

查看下Arrays.asList()方法的源碼,可以發現asList里面直接用傳入的數組創建并反悔了ArrayList,而這個ArrayList是Arrays的內部類,它的size()方法直接取的是構造方法傳參時的數組的長度,ArrayList雖然實現了List接口,但是并沒有重寫add和remove方法,但重寫了get和set方法。

@SafeVarargs @SuppressWarnings('varargs') public static <T> List<T> asList(T... a) { return new ArrayList<>(a); } /** * @serial include */ private static class ArrayList<E> extends AbstractList<E> implements RandomAccess, java.io.Serializable { private static final long serialVersionUID = -2764017481108945198L; private final E[] a; ArrayList(E[] array) { a = Objects.requireNonNull(array); } @Override public int size() { return a.length; } @Override public Object[] toArray() { return a.clone(); } @Override @SuppressWarnings('unchecked') public <T> T[] toArray(T[] a) { int size = size(); if (a.length < size)return Arrays.copyOf(this.a, size, (Class<? extends T[]>) a.getClass()); System.arraycopy(this.a, 0, a, 0, size); if (a.length > size)a[size] = null; return a; } @Override public E get(int index) { return a[index]; } @Override public E set(int index, E element) { E oldValue = a[index]; a[index] = element; return oldValue; } @Override public int indexOf(Object o) { E[] a = this.a; if (o == null) {for (int i = 0; i < a.length; i++) if (a[i] == null) return i; } else {for (int i = 0; i < a.length; i++) if (o.equals(a[i])) return i; } return -1; } @Override public boolean contains(Object o) { return indexOf(o) != -1; } @Override public Spliterator<E> spliterator() { return Spliterators.spliterator(a, Spliterator.ORDERED); } @Override public void forEach(Consumer<? super E> action) { Objects.requireNonNull(action); for (E e : a) {action.accept(e); } } @Override public void replaceAll(UnaryOperator<E> operator) { Objects.requireNonNull(operator); E[] a = this.a; for (int i = 0; i < a.length; i++) {a[i] = operator.apply(a[i]); } } @Override public void sort(Comparator<? super E> c) { Arrays.sort(a, c); } }

org.springframework.util.CollectionUtils.arrayToList()方法內部上也是會有這樣的問題,底層也是使用的Arrays.asList()的方法。

二、常見的數組轉list的方式

1、java8的流轉換

List<String> list = Stream.of(strs).collect(Collectors.toList());

2、Collections工具類

ArrayList<String> list1 = new ArrayList<>();Collections.addAll(list1,strs);

3、多一層封裝創建

List<String> strings = new ArrayList<>(Arrays.asList(strs));

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
视频一区中文字幕精品| 日本中文字幕视频一区| 免费一二一二在线视频| 亚洲2区在线| 一区二区国产在线| 模特精品在线| 久久亚洲欧洲| 国产亚洲高清视频| 亚洲深夜影院| 亚洲深深色噜噜狠狠爱网站 | 国产精品久久久亚洲一区| 国产情侣一区在线| 欧美激情麻豆| 国产一区二区久久久久| 综合日韩av| 欧美日韩精品一区二区视频| 日韩一区电影| 亚洲女同一区| 久久亚洲国产精品一区二区| 亚洲日韩视频| 欧美日韩亚洲一区二区三区在线| 国产黄色一区| 激情久久99| 久久久国产精品一区二区中文| 日韩精品免费一区二区三区| 亚洲国产专区校园欧美| 一区免费视频| 日韩精品久久久久久| 国产精品久久久久久妇女 | 中文字幕在线看片| 久久视频国产| 蜜桃av一区| 国产欧美日韩影院| 国产日韩免费| 中文字幕在线官网| 亚洲一区不卡| 日日夜夜免费精品视频| 国产精品久久| 日韩在线观看| 亚洲一区观看| 国产日韩欧美一区在线| 麻豆视频在线观看免费网站黄 | 狠狠久久伊人中文字幕| 久久精品卡一| 在线看片一区| 精品网站999| 亚洲精品网址| 国产日韩免费| 久久九九电影| 日本不卡视频在线| 欧产日产国产精品视频| 久久亚洲风情| 精品日韩在线| 欧美日韩在线网站| 国产亚洲一区| 日韩理论视频| 夜夜精品视频| 成人久久一区| 日韩精品成人| 久久中文字幕av一区二区不卡| 亚洲精品福利| 久久久久久色| 99精品美女| 欧美片第1页综合| 日韩视频网站在线观看| 亚洲综合专区| 91精品韩国| **爰片久久毛片| 99久久久久国产精品| 国产欧美日韩在线一区二区| 日韩伦理在线一区| 日本免费一区二区视频| 日韩免费在线| 18国产精品| 99国内精品| 国产成人在线中文字幕| 中文字幕成人| 久久亚洲国产| 美女视频网站久久| 亚洲精品无播放器在线播放| 欧美交a欧美精品喷水| 亚洲专区欧美专区| av资源中文在线| 日韩av网站在线免费观看| 成人精品中文字幕| 国产亚洲精品美女久久| 欧美.日韩.国产.一区.二区| 国产精东传媒成人av电影| 亚洲作爱视频| 日韩av福利| 欧美激情日韩| 日韩免费精品| 狠狠色狠狠色综合日日tαg| 国产一区二区三区久久久久久久久| 日韩精品欧美成人高清一区二区| 欧美日韩国产亚洲一区| 国产96在线亚洲| 欧美一区久久| 亚洲日本欧美| 国产农村妇女精品一二区| 精品三区视频| 久久国际精品| 久久国产精品99国产| 欧美综合另类| 亚洲三级欧美| 国产精品亚洲人成在99www | 欧美特黄一级大片| 日韩a一区二区| 国产欧美日韩一级| 亚洲精品系列| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美午夜不卡影院在线观看完整版免费| 国产成人免费精品| 国产图片一区| 91福利精品在线观看| 综合亚洲色图| 免费人成精品欧美精品| 一区三区视频| 国产精品7m凸凹视频分类| 国产不卡一区| 国内在线观看一区二区三区| 卡一精品卡二卡三网站乱码| 国产精品任我爽爆在线播放| 欧美日一区二区三区在线观看国产免 | 亚洲国产不卡| 欧美亚洲在线日韩| 欧美日韩在线观看视频小说| 99久久精品费精品国产| 欧美日韩尤物久久| 欧美综合另类| 尹人成人综合网| 久久国产高清| 亚洲精品大全| 日韩中文字幕无砖| 日韩有吗在线观看| 男女男精品视频网| 老牛影视一区二区三区| 亚洲欧洲另类| 久久国产精品亚洲77777| 亚洲精品1区| 一本一本久久| 亚洲精品大全| 国产图片一区| 精品欧美日韩精品| 国产一区二区三区国产精品| 国产资源在线观看入口av| 色偷偷色偷偷色偷偷在线视频| 亚洲1234区| 樱桃成人精品视频在线播放| 视频一区视频二区中文| 香蕉精品999视频一区二区| 99视频+国产日韩欧美| 中文日韩欧美| 亚洲69av| 精品在线网站观看| 亚洲成人不卡| 亚洲一区二区三区高清不卡| 亚洲最新av| 国产精品一页| 麻豆成全视频免费观看在线看| 午夜av成人| 亚洲欧美成人综合| 日本欧美一区二区在线观看| 麻豆视频一区二区| 成人久久一区| 亚洲欧洲日本mm| 五月激激激综合网色播| 国产欧美欧美| 亚洲黄色网址| 久久aⅴ国产紧身牛仔裤| 亚洲精品系列| 欧美黑人巨大videos精品| se01亚洲视频| 综合激情五月婷婷| 久久国产乱子精品免费女| av资源中文在线| 日韩中文字幕区一区有砖一区 | 色婷婷亚洲mv天堂mv在影片| 伊人精品一区| 日本不卡不码高清免费观看 | 视频一区在线视频| 精品国产亚洲日本| 在线综合欧美| 久久中文字幕导航| 玖玖玖国产精品| 国产一区精品福利| 亚洲欧美日韩国产一区| 国产精品久久久免费| 亚洲一级特黄| 国产欧美91| 亚洲经典在线| 国产一区二区视频在线看| 日韩一级精品| 国产suv精品一区二区四区视频| 在线亚洲国产精品网站| 久久国产欧美日韩精品| 99国产精品免费视频观看| 日韩激情网站| 精品国产美女a久久9999| 蜜臀久久99精品久久久久久9|