Java 关于split 的一些思考和应用(常见数据处理情况)

简介: Java 关于split 的一些思考和应用(常见数据处理情况)

常见的使用场景,java后端经常需要传递多个参数值,用【,】隔开,然后后台再使用split进行数据分割,转换成列表,但是有时候,这个列表,还需要二次转换成其他数据,往往需要好几行代码才能实现,所以想了下,jdk8以后的版本,都是支持流处理的,可以非常方便的转换这类数据,将 String 数据转换成 List 、List、List 等数组

    // 格式化转换,有时候得到的数据,很奇怪,就需要特殊处理下
    String ids = "1,2,3,4,5,,6,非数字,7";
    List<Integer> idList = Arrays.stream(ids.split(",")) // 切割字符串
        .filter(o -> NumberUtil.isNumber(o)) // 判断数据是否是数字格式
        .map(Integer::parseInt) // 转换成所需要的数字格式
        .collect(Collectors.toList()); 
    // 打印执行结果
    System.out.println(idList);
执行结果(较好地输出了结果值)
    [1, 2, 3, 4, 5, 6, 7]

如上,只要一行代码,就可以将一个字符串变量提取成需要的格式,并转换成列表,方便用于各种数据操作

List idList = Arrays.stream(ids.split(",")).filter(o -> NumberUtil.isNumber(o)).map(Integer::parseInt).collect(Collectors.toList());
相关文章
|
1天前
|
缓存 监控 Java
Java中的并发编程:理解并应用线程池
在Java的并发编程中,线程池是提高应用程序性能的关键工具。本文将深入探讨如何有效利用线程池来管理资源、提升效率和简化代码结构。我们将从基础概念出发,逐步介绍线程池的配置、使用场景以及最佳实践,帮助开发者更好地掌握并发编程的核心技巧。
|
3天前
|
Java 数据库连接 数据库
Java服务提供接口(SPI)的设计与应用剖析
Java SPI提供了一种优雅的服务扩展和动态加载机制,使得Java应用程序可以轻松地扩展功能和替换组件。通过合理的设计与应用,SPI可以大大增强Java应用的灵活性和可扩展性。
22 11
|
3天前
|
Java 数据处理
技术分享:高效与灵活并存——Java版通用树形结构转换工具的实现与应用
在软件开发中,树形结构的数据表现形式无处不在,从文件系统的目录树到组织架构的部门树,再到各类产品的分类结构。处理这些具有层级关系的数据时,将其转换为树形结构以便展示和操作显得尤为重要。Java作为一门成熟的编程语言,虽然提供了强大的集合框架,但并未直接提供树形结构转换的内置工具。因此,开发一个高效且灵活的通用树形结构转换工具成为许多项目中的必备需求。
10 2
|
7天前
|
存储 Java 程序员
优化Java多线程应用:是创建Thread对象直接调用start()方法?还是用个变量调用?
这篇文章探讨了Java中两种创建和启动线程的方法,并分析了它们的区别。作者建议直接调用 `Thread` 对象的 `start()` 方法,而非保持强引用,以避免内存泄漏、简化线程生命周期管理,并减少不必要的线程控制。文章详细解释了这种方法在使用 `ThreadLocal` 时的优势,并提供了代码示例。作者洛小豆,文章来源于稀土掘金。
|
9天前
|
数据采集 存储 前端开发
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
|
16天前
|
Java
Java应用结构规范问题之在UnitConvertUtils工具类将千米转换为米的问题如何解决
Java应用结构规范问题之在UnitConvertUtils工具类将千米转换为米的问题如何解决
|
16天前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
|
12天前
|
Java
java代码和详细的代码应用
代码块分为局部、构造、静态和同步代码块。局部代码块控制变量生命周期,例如 `int a` 只在特定代码块内有效。构造代码块用于创建对象时执行附加功能,避免构造方法中代码重复。静态代码块随类加载执行一次,常用于初始化操作。同步代码块确保多线程环境下方法执行的原子性,通过 `synchronized` 关键字实现。
22 3
|
13天前
|
算法 Java 数据库
Java 性能优化秘籍:在数字化浪潮中,让你的应用如火箭般飞驰!
【8月更文挑战第30天】Java 作为一种广泛使用的编程语言,其性能优化是开发者关注的重点。优化需基于对 Java 内存模型、垃圾回收及线程并发模型的理解。合理的垃圾回收算法与线程安全措施、锁机制的应用至关重要。实践中,避免不必要的对象创建可减轻内存压力;优化数据库操作,如合理使用索引和查询语句,同样重要。JVM 参数调优,如调整堆大小和垃圾回收器选择,也能显著提升性能。综合运用这些策略并通过持续测试与调整,可以使 Java 应用在高并发和大数据量场景下保持高效运行,提供流畅的用户体验。
33 3
|
16天前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决