今天在寫單測時候扇丛,遇到這樣的一個異常:java.lang.UnsupportedOperationException
具體代碼如下:
具體代碼
紅色框部分為代碼拋出異常所在處。
為什么會這樣呢穴豫?這是java.util里面提供的方法啊。
經(jīng)查找晚岭,發(fā)現(xiàn)是傳入?yún)?shù)問題迂烁,傳入?yún)?shù)為List<String> list,數(shù)據(jù)類型應(yīng)該為:java.util.List類型揭绑。但是我傳入的參數(shù)為:Arrays.asList(numArr) 兩個list類型不一致饼暑。
但是為什么這樣呢?
看一下java.util.List源碼:
list removeAll
實現(xiàn)它的類都會實現(xiàn)方法。
Arrays.asList(numArr)方法返回的是Arrays內(nèi)部類AyyayList弓叛,看一下這個類實現(xiàn)重寫的方法:
ArraysList方法
發(fā)現(xiàn)彰居,沒有重寫removeAll()。因此會報錯:java.lang.UnsupportedOperationException撰筷。
個人公號:【排骨肉段】陈惰,可以關(guān)注一下。