设为首页 加入收藏

TOP

Java列表(一)
2017-10-13 10:41:53 】 浏览:4059
Tags:Java 列表

Java列表踩过的坑

其中subList是RandomAccessSubList,不是序列化的列表,不可以加入tair。

 

加入tair测试代码

    @Autowired
    private CacheManager cacheManager;

    @Test
    public void listTest() {
        ArrayList arrayList = new ArrayList();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        arrayList.add("我是字符串");
        //正确
        boolean dev_testkey = cacheManager.addToTair("dev_testkey", arrayList, 60 * 30);
        try {
            //报错
            ArrayList<String> list00 = (ArrayList<String>)arrayList.subList(1, 2);
            dev_testkey = cacheManager.addToTair("dev_testkey", list00, 60 * 30);
        }catch (Exception e){
            System.out.println("error");
        }
        try {
            //报错
            ArrayList list0 = (ArrayList)arrayList.subList(0, 1);
            dev_testkey = cacheManager.addToTair("dev_testkey", list0, 60 * 30);
        }catch (Exception e){
            System.out.println("error");
        }
        try {
            //报错
            List list1 = arrayList.subList(0, 1);
            dev_testkey = cacheManager.addToTair("dev_testkey", (ArrayList<String>)list1, 60 * 30);
        }catch (Exception e){
            System.out.println("error");
        }

        List list = new ArrayList();
        list.add(1);
        list.add("我是字符串");
        //正确
        dev_testkey = cacheManager.addToTair("dev_testkey", arrayList, 60 * 30);

        String tags = "1,2,3,4,5";
        List<String> tagslist = Arrays.asList(tags.split(","));
        ArrayList<String> okList = new ArrayList<String>(Arrays.asList(tags.split(",")));
        try {
            //报错
            dev_testkey = cacheManager.addToTair("dev_testkey", (ArrayList<String>)tagslist, 60 * 30);
        }catch (Exception e){
            System.out.println("error");
        }

        //正确
        dev_testkey = cacheManager.addToTair("dev_testkey", okList, 60 * 30);

        try {
            //报错
            List<String> okSubList = tagslist.subList(0, 3);
            dev_testkey = cacheManager.addToTair("dev_testkey", (ArrayList<String>)okSubList, 60 * 30);
        }catch (Exception e){
            System.out.println("error");
        }

        try {
            //报错
            dev_testkey = cacheManager.addToTair("dev_testkey3", (ArrayList<String>)tagslist, 60 * 30);
        }catch (Exception e){
            System.out.println("error");
        }

        List<String> subList = tagslist.subList(0, 3);
        try {
            //报错
            dev_testkey = cacheManager.addToTair("dev_testkey4", (ArrayList<String>)subList, 60 * 30);
        }catch (Exception e){
            System.out.println("error");
        }

    }

  

Java中怎样把数组转换为ArrayList?

方法1、较好
ArrayList<Element> arrayList = new ArrayList<Element>(Arrays.asList(array));

方法2、
List<Element> list = Arrays.asList(array);

方法3、
Element[] array = {new Element(1), new Element(2)};
List<element> list = new ArrayList<element>(array.length);
Collections.addAll(list, array);

  方法二的方式不太好,因为 asList() 返回的列表的大小是固定的。事实上,返回的列表不是 java.util.ArrayList ,而是定义在 java.util.Arrays 中一个私有静态类。我们知道 ArrayList 的实现本质上是一个数组,而 asList() 返回的列表是由原始数组支持的固定大小的列表。这种情况下,如果添加或删除列表中的元素,程序会抛出异常 UnsupportedOperationException 。

 

代码示例

List<String> arrays_arrayList = Arrays.asList("王利虎","张三","李四","李四");    //是Arrays下的私有静态类ArrayList,没有序列化
        List<String> ran
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇网站三层架构学习之一 分层式结构 下一篇“老坛泡新菜”:SOD MVVM框架,让..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目