zoukankan      html  css  js  c++  java
  • 001 Joiner

    一.概述

      本类的名称的含义就是连接器,可以帮助我们实现数据(对象)的连接.


     二 . 对象的创建  

       @Test
        public void test1() {
            Joiner joiner = Joiner.on(",");
        }

    创建一个Joiner对象,我们可以使用on()方法,含义就是会用这个分隔符进行连接数据.

    我们可以发现我们实际上都是使用字符来完成连接器的.


     三 . 连接方法

      

    Joiner的连接方法核心就是join()方法.我们下面看几个测试例子.

        @Test
        public void test2() {
            List<String> data = Arrays.asList("1","2","3");
            String result = Joiner.on("#").join(data);
            System.out.println("result="+result);
        } // result=1#2#3

    上面就是核心的连接方法,从上面的参数我们可以了解到,join()方法实际上可以帮助我们进行数组和集合的连接.

      我们看一下其中的选择方法:

    看下面的例子:

    @Test
        public void test3() {
            List<String> data = Arrays.asList("1",null,"2","3");
            // 忽略掉null的影响
            //1#2#3 ,如果出现null,会发生空指针异常
            String result = Joiner.on("#").skipNulls().join(data);
            System.out.println(result);
            String result2 =  Joiner.on("#").useForNull("@@").join(data);
            //1#@@#2#3
            System.out.println(result2);
        }

    三 .追加方法

    @Test
        public void test4() {
            StringBuilder prefix =new  StringBuilder("prefix");
            List<String> data = Arrays.asList("1",null,"2","3");
            String result = Joiner.on("#").useForNull("@@").appendTo(prefix, data).toString();
            //prefix1#@@#2#3
            System.out.println(result);
        }

    我们看到,我们最常用的可能就是StringBuilder这样的结构了.

    另外一个常用的就是将数据追加到一个文件之中.

    看下面的例子:

        @Test
        public void test5() {
            final String fileName = "D:\log.txt"; 
            List<String> data = Arrays.asList("1",null,"2","3");
            try(FileWriter write = new FileWriter(fileName);){
                Joiner.on("#").skipNulls().appendTo(write, data);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    我们实现了向标准的文件之中追加数据.


    四 .对Map集合的操作  

    @Test
        // 测试对Map的操作
        public void test6() {
            Map<String,String> map = new HashMap<>();
            map.put("key1","value1");
            map.put("key2","value2");
            map.put("key3","value3");
            String result = Joiner.on("#").withKeyValueSeparator("-").join(map);
            //key1-value1#key2-value2#key3-value3
            System.out.println(result);
        }

    这个操作在有些时候会非常的方便的.

  • 相关阅读:
    java面试②基础部分
    java面试①整体流程
    Mysql加锁过程详解(6)-数据库隔离级别(2)-通过例子理解事务的4种隔离级别
    Mysql加锁过程详解(6)-数据库隔离级别(1)
    CV3——学习笔记-实战项目(上):如何搭建和训练一个深度学习网络
    CV2——学习笔记-图像分类
    CV1——学习笔记
    思无邪
    C++学习笔记
    操作系统——学习笔记
  • 原文地址:https://www.cnblogs.com/trekxu/p/9484405.html
Copyright © 2011-2022 走看看