Arrays.asList() 便利:暴露陷阱
Arrays.asList() 提供了一個簡單的創建方法一個列表,但它有一個警告-它的元素是不可變的。嘗試執行像remove()這樣的操作會觸發UnsupportedOperationException。
Arrays.asList()產生一個“固定大小的列表”,禁止任何結構修改,包括去除元素。
要解決此限制,請選擇LinkedList,它以其快速的remove() 操作而聞名:
List<String> list = new LinkedList<String>(Arrays.asList(split));
當使用String.split()來分區字串,請記住管道字元 (|) 作為正規表示式元字元具有重要意義。為避免混淆,請將其括在反斜線(|) 內以進行文字匹配:
template.split("\|")
要克服逐步刪除元素的低效問題,請利用更有效的方法:
這種改進的方法具有 O(N) 複雜度,確保最佳性能。
以上是為什麼從 Arrays.asList() 中刪除元素會拋出 UnsupportedOperationException?的詳細內容。更多資訊請關注PHP中文網其他相關文章!