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

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文件,全部删除,重新下载后再次运行即可


http://www.kler.cn/a/444175.html

相关文章:

  • 实现 WebSocket 接入文心一言
  • 【libuv】Fargo信令1:client发connect消息给到server
  • 数智化转型是什么?
  • golang断言
  • 浅谈目前我开发的前端项目用到的设计模式
  • RestTemplate实时接收Chunked编码传输的HTTP Response
  • LLM大语言模型私有化部署-使用Dify与Qwen2.5打造专属知识库
  • Linux学习——9_Ubuntu Linux操作系统
  • js逆向基础-hook调试
  • Guava 提供了集合操作 `List`、`Set` 和 `Map` 三个工具类
  • HarmonyOS 输入框组件:TextInput 和 TextArea 深度解析
  • Oracle RAC最佳实践-优化私网连接
  • kubeadm安装K8s高可用集群之集群初始化及master/node节点加入calico网络插件安装
  • 系列1:基于Centos-8.6部署Kubernetes (1.24-1.30)
  • 深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
  • git stash 的文件如何找回
  • 数据结构--插入排序
  • JAVA开发时获取用户信息失败,分析后端日志信息
  • spring @Mapper Converter转换泛型异常
  • Kafka Streams 在监控场景的应用与实践
  • 使用正则表达式提取PDF文件页数的实现方案
  • 观察者模式(sigslot in C++)
  • docker pull 报错Get “https://registry-1.docker.io/v2/“: net/http: request canceled while waiting for c
  • CSS学习-第三天
  • 基于springboot的在线政务服务系统的设计与实现-仅供学习
  • 实景视频与模型叠加融合?