当前位置: 首页 > news >正文

Java字符串的|分隔符转List实现方案

字符串处理

  • 问题背景
  • 代码实现
  • 代码优化
    • 原因分析
    • 实现方案
  • 注意事项
  • 异常处理
    • Maven未识别异常

问题背景

在项目组对账流程中,接收对方系统的对账文件,数据以|为分隔符,读取文件内容,分条入库。

代码实现

Java中将字符串转给list,可使用 Arrays.aslist 函数,实现代码如下所示。

import java.util.Arrays;
import java.util.List;public class DealData {public static void main(String[] args){String str = "北京|海淀|中关村|清华大学|清华园";List<String> strList = Arrays.asList(str.split("|"));System.out.println("转换出来的list为:"+strList);}
}

执行代码,在控制台打印结果如下所示。
在这里插入图片描述

代码优化

对于以上转换的结果,不是想要的,如何将北京,海淀,中关村 等逗号分割。

原因分析

分析结果为 Arrays.aslist 其实就是将字符串先转换为数组,再将数组转换为list,对于分隔符|,其无法识别,只能是单个字符分割展示。

实现方案

可将 分隔符|转换为逗号,,再进行list转换,如下所示。

public static void main(String[] args){String str = "北京|海淀|中关村|清华大学|清华园";String finalStr = str.replace("|",",");List<String> strList = Arrays.asList(finalStr.split(","));System.out.println("转换出来的list为:"+strList);
}

转换结果如下所示。
在这里插入图片描述

注意事项

注意其创建后,list长度不可改变,若要新增新元素,执行list的add方法,可能报错【java.lang.UnsupportedOperationException】。
在这里插入图片描述
实现方案可提前定义变长的ArrayList,并使用 list的addAll方法,即

List<String> strNewList = new ArrayList<>();strNewList.addAll(Arrays.asList("北京大学","清华大学"));System.out.println("转换出来最终的list为:"+strNewList);

执行结果如下所示。
在这里插入图片描述

异常处理

Maven未识别异常

异常编码
Caused by: java.util.zip.ZipException: error in opening zip file
分析原因
当我们重新安装电脑操作系统后,丢失部分信息,本地maven库里的jar包就会报这种错误。
处理方案
本地maven库对应报错的jar文件,全部删除,重新下载后再次运行即可

相关文章:

Java字符串的|分隔符转List实现方案

字符串处理 问题背景代码实现代码优化原因分析实现方案 注意事项异常处理Maven未识别异常 问题背景 在项目组对账流程中&#xff0c;接收对方系统的对账文件&#xff0c;数据以|为分隔符&#xff0c;读取文件内容&#xff0c;分条入库。 代码实现 Java中将字符串转给list&am…...

Kafka可视化工具 Offset Explorer (以前叫Kafka Tool)

数据的存储是基于 主题&#xff08;Topic&#xff09; 和 分区&#xff08;Partition&#xff09; 的 Kafka是一个高可靠性的分布式消息系统&#xff0c;广泛应用于大规模数据处理和实时, 为了更方便地管理和监控Kafka集群&#xff0c;开发人员和运维人员经常需要使用可视化工具…...

DeepWalk 原理详解

概述&#xff1a; DeepWalk 是一种流行的图嵌入方法&#xff0c;用于学习图结构数据中节点的低维表示。它通过将图的节点视作序列数据&#xff0c;利用自然语言处理中的技术&#xff08;类似于word2vec算法&#xff09;来捕捉节点间的关系&#xff0c;可以帮助我们理解和利用图…...

GitLab安装|备份数据|迁移数据及使用教程

作者&#xff1a; 宋发元 最后更新时间&#xff1a;2024-12-24 GitLab安装及使用教程 官方教程 https://docs.gitlab.com/ee/install/docker.html Docker安装GitLab 宿主机创建容器持久化目录卷 mkdir -p /docker/gitlab/{config,data,logs}拉取GitLab镜像 docker pull gi…...

嵌入式linux驱动框架 I2C系统驱动程序模型分析

引言&#xff1a;在嵌入式 Linux 系统中&#xff0c;I2C&#xff08;Inter-Integrated Circuit&#xff09;是一种常用的通信协议&#xff0c;用于连接低速设备&#xff08;如传感器、显示器、存储器等&#xff09;与主控制器。I2C 系统驱动程序模型通过层次化的设计&#xff0…...

深度学习实验十七 优化算法比较

目录 一、优化算法的实验设定 1.1 2D可视化实验&#xff08;被优化函数为&#xff09; 1.2 简单拟合实验 二、学习率调整 2.1 AdaGrad算法 2.2 RMSprop算法 三、梯度修正估计 3.1 动量法 3.2 Adam算法 四、被优化函数变为的2D可视化 五、不同优化器的3D可视化对比 …...

一个双非选手的秋招总结

个人bg介绍 25届双非本硕&#xff08;非杭电深大&#xff0c;垫底双非&#xff09;&#xff0c;两段实习经历&#xff0c;本科没学过Java&#xff0c;有c语言和408基础&#xff1b;2023年10月份中途转语言&#xff0c;Java速成选手。 战绩总结&#xff1a;实习秋招面试总论次…...

如何提高永磁电动机的节电效果

在现代工业和家庭应用中&#xff0c;永磁电动机因其优越的性能和节能特性&#xff0c;逐渐成为主流选择。随着能源日益紧缺和环境问题的日益严重&#xff0c;寻求高效的电动机节能方案显得尤为重要。 一、永磁电动机的基本原理 永磁电动机的核心是永磁体&#xff0c;这些永磁…...

在一个服务器上抓取 Docker 镜像并在另一个服务器上运行

要在一个服务器上抓取 Docker 镜像并在另一个服务器上运行&#xff0c;您可以按照以下步骤进行操作&#xff1a; 1. 保存 Docker 镜像 在源服务器上&#xff0c;您可以使用 docker save 命令将 Docker 镜像保存为一个 tar 文件。例如&#xff0c;如果您的镜像名称是 face_det…...

开源轮子 - Logback 和 Slf4j

spring boot内置&#xff1a;Logback 文章目录 spring boot内置&#xff1a;Logback一&#xff1a;Logback强在哪&#xff1f;二&#xff1a;简单使用三&#xff1a;把 log4j 转成 logback四&#xff1a;日志门面SLF4J1&#xff1a;什么是SLF4J2&#xff1a;SLF4J 解决了什么痛…...

内部知识库的未来展望:技术融合与用户体验的双重升级

在当今数字化飞速发展的时代&#xff0c;企业内部知识库作为知识管理的关键载体&#xff0c;正站在变革的十字路口&#xff0c;即将迎来技术融合与用户体验双重升级的崭新时代&#xff0c;这一系列变化将深度重塑企业知识管理的格局。 一、技术融合&#xff1a;开启知识管理新…...

【Linux系列】Shell 命令:`echo ““ > img.sh`及其应用

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

【RAG实战】语言模型基础

语言模型赋予了计算机理解和生成人类语言的能力。它结合了统计学原理和深度神经网络技术&#xff0c;通过对大量的样本数据进行复杂的概率分布分析来学习语言结构的内在模式和相关性。具体地&#xff0c;语言模型可根据上下文中已出现的词序列&#xff0c;使用概率推断来预测接…...

【MySQL】7.0 入门学习(七)——MySQL基本指令:帮助、清除输入、查询等

1.0 help &#xff1f; 帮助指令&#xff0c;查询某个指令的解释、用法、说明等。详情参考博文&#xff1a; 【数据库】6.0 MySQL入门学习&#xff08;六&#xff09;——MySQL启动与停止、官方手册、文档查询 https://www.cnblogs.com/xiaofu007/p/10301005.html 2.0 在cmd命…...

我的 2024 年终总结

2024 年&#xff0c;我离开了待了两年的互联网公司&#xff0c;来到了一家聚焦教育机器人和激光切割机的公司&#xff0c;没错&#xff0c;是一家硬件公司&#xff0c;从未接触过的领域&#xff0c;但这还不是我今年最重要的里程碑事件 5 月份的时候&#xff0c;正式提出了离职…...

STM32CUBEMX+STM32H743ZIT6+IAP+UART在线升级初始化和代码解析

1、STM32H7带的ITCM&#xff0c;DTCM&#xff0c;AXI SRAM&#xff0c;SRAM1&#xff0c;SRAM2&#xff0c;SRAM3&#xff0c;SRAM4和备份SRAM五块。 其中&#xff0c; ①TCM区包括ITCM和DTCM&#xff0c;这两个是直连CPU的。 速率与CPU一致&#xff0c;最高能到480MHz。 DTCM地…...

半连接转内连接 | OceanBase SQL 查询改写

查询优化器是关系型数据库系统的核心模块&#xff0c;是数据库内核开发的重点和难点&#xff0c;也是衡量整个数据库系统成熟度的“试金石”。为了帮助大家更好地理解 OceanBase 查询优化器&#xff0c;我们撰写了查询改写系列文章&#xff0c;带大家更好地掌握查询改写的精髓&…...

Git使用经历

目录 1、先创建文件夹 2、仓库初始化 3、配置gitee用户名和密码 4、克隆指定仓库的中指定分支到本地仓库 5、查看当前所在分支、切换分支 6、查看状态&#xff0c;判断是否有修改 7、把更新的内容添加到缓存区 8、把缓存区的数据提交 9、把数据推送到远程仓库 10、把…...

永磁同步电机控制算法-自适应带宽LADRC转速控制器

一、原理介绍 设计了自适应带宽 LADRC 控制方法&#xff0c;继承了 LADRC 优点的同时&#xff0c;加入自适应带宽控制&#xff0c;提出运用 Softsign 函数设计带宽自适应函数&#xff0c;根据电机转速自动调节控制带宽&#xff0c;解决了永磁同步电机在复杂且多变的环境下受到…...

基于springboot+vue实现的博物馆游客预约系统 (源码+L文+ppt)4-127

摘 要 旅游行业的快速发展使得博物馆游客预约系统成为了一个必不可少的工具。基于Java的博物馆游客预约系统旨在提供高效、准确和便捷的适用博物馆游客预约服务。本文讲述了基于java语言开发&#xff0c;后台数据库选择MySQL进行数据的存储。该软件的主要功能是进行博物馆游客…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程

鸿蒙电脑版操作系统来了&#xff0c;很多小伙伴想体验鸿蒙电脑版操作系统&#xff0c;可惜&#xff0c;鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机&#xff0c;来体验大家心心念念的鸿蒙系统啦&#xff01;注意&#xff1a;虚拟…...