ArrayList和Arrays.asList()的Junit断言错误
创始人
2024-09-14 08:30:41
0

在使用JUnit进行断言时,可能会遇到使用ArrayList和Arrays.asList()时出现的错误。这是因为Arrays.asList()返回的是一个固定大小的List,不支持添加或删除元素的操作。下面是一个包含代码示例的解决方法:

import org.junit.Assert;
import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArrayListTest {

    @Test
    public void testArrayList() {
        List list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");

        Assert.assertEquals(3, list.size());
        Assert.assertTrue(list.contains("apple"));

        list.remove("banana");
        Assert.assertEquals(2, list.size());
        Assert.assertFalse(list.contains("banana"));
    }

    @Test
    public void testArraysAsList() {
        List list = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));

        Assert.assertEquals(3, list.size());
        Assert.assertTrue(list.contains("apple"));

        list.remove("banana"); // 会抛出UnsupportedOperationException异常
        Assert.assertEquals(2, list.size());
        Assert.assertFalse(list.contains("banana"));
    }
}

在上面的代码中,我们分别测试了使用ArrayList和Arrays.asList()创建的List,通过断言来验证其元素个数和是否包含特定元素。然后尝试在Arrays.asList()创建的List上进行删除操作,发现会抛出UnsupportedOperationException异常。

为了解决这个问题,我们可以在Arrays.asList()返回的List上进行一次新的ArrayList的构造,如下所示:

List list = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));

这样就可以使用ArrayList的所有方法,包括添加和删除元素。

相关内容

热门资讯

透视透明!wpk是真的还是假的... wpk是真的还是假的开挂教程视频分享装挂详细步骤在当今的网络游戏中,wpk是真的还是假的作为一种经典...
透明透视!指尖四川小程序脚本,... 透明透视!指尖四川小程序脚本,wpk软件是真的吗(辅助挂)详细开挂辅助神器;无需打开直接搜索微信(1...
透视好友!789大菠萝插件功能... 789大菠萝插件功能开挂教程视频分享装挂详细步骤在当今的网络游戏中,789大菠萝插件功能作为一种经典...
透明安装!中至赣牌圈五十k黑科... 中至赣牌圈五十k黑科技开挂教程视频分享装挂详细步骤在当今的网络游戏中,中至赣牌圈五十k黑科技作为一种...
透明有挂!闲来辅助软件怎么样,... 透明有挂!闲来辅助软件怎么样,wepoker辅助是真的假的(辅助挂)详细开挂辅助平台这是一款可以让一...
透视ai代打!花花生活圈游戏辅... 花花生活圈游戏辅助开挂教程视频分享装挂详细步骤在当今的网络游戏中,花花生活圈游戏辅助作为一种经典的娱...
透视ai!广西友乐解码器下载安... 透视ai!广西友乐解码器下载安装,pokemmo辅助官网(辅助挂)详细开挂辅助平台;无需打开直接搜索...
透视透明!多乐游戏辅助脚本平台... 透视透明!多乐游戏辅助脚本平台,购买wepoker模拟器(辅助挂)详细开挂辅助工具这是一款可以让一直...
透视ai!樱花之盛辅助,德州h... 德州hhpoker是真的吗是一款专注玩家量身打造的游戏记牌类型软件,在德州hhpoker是真的吗这款...
透视代打!广西八一字牌透视,a... 您好:广西八一字牌透视这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...