Java中字符串占位替换、字符串拼接、字符串与Collection互转的方式

这篇具有很好参考价值的文章主要介绍了Java中字符串占位替换、字符串拼接、字符串与Collection互转的方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景

字符串占位替换

1、String.format

最原始最基础的方式。

使用%来表示占位,后面跟上不同的标识符,用于限定这个占位符的参数类型,由jdk原生提供支持。

示例:

        String badao = String.format("hello:%s", "badao");
        System.out.println(badao);

2、MessageFormat

如果遇到一个参数需要替换模板中多个占位的场景,更友好的方式是MessageFormat,由jdk原生提供支持。

示例:

        String message = MessageFormat.format("hello:{0},your name is {0},your class is {1}","badao","class1");
        System.out.println(message);

字符串拼接

举例:将int数组转为英文逗号分割的字符串为例

首先初始化一个int数组

        List<Integer> integerList = new ArrayList<Integer>(){{
            add(1);
            add(2);
            add(3);
        }};

1、StringBuilder来拼接

        StringBuilder stringBuilder = new StringBuilder();
        for (Integer i:integerList) {
            stringBuilder.append(i).append(",");
        }
        String substring = stringBuilder.substring(0, stringBuilder.length() - 1);
        System.out.println(substring);

2、StringJoiner 由jdk1.8提供

        String collect = integerList.stream().map(String::valueOf).collect(Collectors.joining(","));
        System.out.println(collect);

3、如果使用的jdk不是1.8版本,还可使用guava的joiner

        String join = Joiner.on(",").join(integerList);
        System.out.println(join);

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主

字符串与Collection的互转

字符串转列表

1、字符串先转数组,然后再数组转列表

通过Arrays.asList

        String[] cells = "a,b,c".split(",");
        List<String> stringList = Arrays.asList(cells);
        System.out.println(stringList);

通过Collections.addAll

        List<String> list1 = new ArrayList<>();
        Collections.addAll(list1,"a,b,c,d".split(","));
        System.out.println(list1);

如果希望转成int列表

        List<Integer> collect = Stream.of("1, ,2 ,3,4".split(","))
                .map(String::trim)
                .filter(s -> !s.isEmpty())
                .map(Integer::valueOf)
                .collect(Collectors.toList());
        System.out.println(collect);

2、通过guava的方式

通过guava的Splitter.on().splitToList

        List<String> stringList1 = Splitter.on(",").splitToList("a,b,c,d,e");
        System.out.println(stringList1);

直接转换成流可以使用splitToStream

        List<Integer> collect1 = Splitter.on(",").splitToStream("1, ,2 ,3,4")
                .map(String::trim)
                .filter(s -> !s.isEmpty())
                .map(Integer::valueOf)
                .collect(Collectors.toList());
        System.out.println(collect1);

列表转字符串

1、通过StringBuilder

        StringBuilder builder = new StringBuilder();
        for (String str:stringList1){
            builder.append(str).append(",");
        }
        //最后一个拼接符号不要
        String substring = builder.substring(0, builder.length() - 1);
        System.out.println(substring);//a,b,c,d,e

2、通过String.join

缺点是列表必须是字符串列表,如果换成int列表则不行

        String join = String.join(",", stringList1);
        System.out.println(join);//a,b,c,d,e

3、guava提供的Joiner  没有列表类型的限制文章来源地址https://www.toymoban.com/news/detail-592243.html

        String join1 = Joiner.on(",").join(stringList1);
        System.out.println(join1);

到了这里,关于Java中字符串占位替换、字符串拼接、字符串与Collection互转的方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Java Stream 拼接字符串

    一、使用背景                   在开发过程,有时候需要将集合结果转化成字符串,按照指定的字符分隔进行拼接,java stream的收集器提供相应的API,操作简单方便,下面直接上示例代码; 二、API操作

    2024年04月12日
    浏览(10)
  • Java替换字符串最后指定字符

    需求感想省略...... 代码如下: public static void main(String[] args) { 测试案例1:         String str = \\\"|1|2|3||||||||||||||\\\";  //偶位数 测试案例2:         String str = \\\"|1|2|3|||||||||||\\\";   //奇数位 --------------------------------------------------------------------------------------------------------------------

    2024年02月12日
    浏览(13)
  • java 字符串替换

    在Java 中,String 类提供了 3 种字符串替换方法,分别是 replace()、replaceFirst() 和 replaceAll() replace() 方法 replace()方法用于将目标字符串中的指定字符(串)替换成新的字符(串)replace(String oldChar, String newChar) replaceFirst() 方法 replaceFirst()方法用于将目标字符串中匹配某正则表达式的第一

    2024年02月02日
    浏览(10)
  • Java字符串替换的方法

    Java字符串替换的方法

    java中字符串替换方法主要有三种,分别是replace()、replaceAll()和replaceFirst(),这三种方法可以在三种不同情况应用,下面就由我来具体说明这三种方法的应用情况吧。 replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说

    2024年02月13日
    浏览(14)
  • Java中的字符串替换

    在Java中,String 类提供了 3 种字符串替换方法,分别是 replace()、replaceFirst() 和 replaceAll(),下面我们就来详细看一下三种的用法!     下面这套 Java300集 视频专门为零基础而制,适合准备入行Java开发的零基础,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由

    2024年02月11日
    浏览(14)
  • Java中关于String类以及字符串拼接的问题

    Java中关于String类以及字符串拼接的问题

    String为什么不可变? 答案 String s1=new String(\\\"abc\\\");创建了几个字符串对象 答案 str1它首先会去方法区的常量池中找,有“hello”这个对象就直接引用,没有就创建一个新的对象“hello”,存放在常量池中。 而new的方式首先会在堆中创建一个对象,然后再去常量池中找,有直接引用

    2023年04月26日
    浏览(12)
  • 华为OD机试 - 字符串拼接(Java & JS & Python & C)

    题目描述 给定 M(0 M ≤ 30)个字符(a-z),从中取出任意字符(每个字符只能用一次)拼接成长度为 N(0 N ≤ 5)的字符串, 要求相同的字符不能相邻,计算出给定的字符列表能拼接出多少种满足条件的字符串, 输入非法或者无法拼接出满足条件的字符串则返回0。 输入描

    2024年01月22日
    浏览(17)
  • [正式学习java③]——字符串在内存中的存储方式、为什么字符串不可变、字符串的拼接原理,键盘录入的小细节。

    [正式学习java③]——字符串在内存中的存储方式、为什么字符串不可变、字符串的拼接原理,键盘录入的小细节。

    🌈键盘敲烂,年薪30万🌈 目录 一、字符串 1.字符串在内存中的存储方式 2.创建字符串对象的两种方式 3.两种创建方式的区别 4.字符串对象一旦创建不可改变 - 为什么??? 5.字符串的拼接 6.字符串的拼接原理 二、键盘录入 三、总结 🔥在java中,内存中有两个地方可以存储

    2024年02月08日
    浏览(15)
  • Java中String字符串替换3种方法详解

    replace() 方法用于将目标字符串中的指定字符(串)替换成新的字符(串) 字符串.replace(String oldChar, String newChar) replaceFirst() 方法用于将目标字符串中匹配某正则表达式的第一个子字符串替换成新的字符串 字符串.replaceFirst(String regex, String replacement) replaceAll() 方法用于将目标字

    2024年02月11日
    浏览(17)
  • Java中常见字符串拼接九种方式,总有一款你喜欢!

    Java中常见字符串拼接九种方式,总有一款你喜欢!

    在 Java 编程中,字符串拼接是一项非常基础的操作,它涉及到了很多日常开发工作中常见的场景,例如拼接 SQL 语句、构建 HTTP 请求参数等等。因此,对于掌握好字符串拼接技巧不仅有助于提高代码效率,而且能够避免一些潜在的性能问题。 下面我们就来列举出来几种方式,

    2024年02月16日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包