首页 > 编程语言 >【Java】删除String数组中的所有空值

【Java】删除String数组中的所有空值

时间:2023-03-31 17:22:07浏览次数:34  
标签:Java String strArr 空值 strList null string

1、封装一个方法

/***
     * 去除String数组中的空值
     */
    private String[] deleteArrayNull(String string[]) {
        String strArr[] = string;

        // step1: 定义一个list列表,并循环赋值
        ArrayList<String> strList = new ArrayList<String>();
        for (int i = 0; i < strArr.length; i++) {
            strList.add(strArr[i]);
        }

        // step2: 删除list列表中所有的空值
        while (strList.remove(null));
        while (strList.remove(""));

        // step3: 把list列表转换给一个新定义的中间数组,并赋值给它
        String strArrLast[] = strList.toArray(new String[strList.size()]);

        return strArrLast;
    }

2、调用

@Test
    public void dd() {
        String string[] = {"a", "b", null, "", "c", "a", null};
        System.out.println("转换前:"+Arrays.toString(string));
        string = deleteArrayNull(string);
        System.out.println("转换后:"+ Arrays.toString(string));
    }

3、执行结果

标签:Java,String,strArr,空值,strList,null,string
From: https://www.cnblogs.com/min225016/p/17276936.html

相关文章

  • JavaFx 行间距 margin
    自己边尝试边摸索,间距都调不了,气的呀。如有不足,请指正!spacing相当于margin-topmargin-bottomenvBox.setSpacing(20);insets能设置上下左右间距btn1.setOpaqueInsets(newInsets(0,10,0,0));vgap="10"上下间距hgap="10"左右间距 ......
  • 系统化学习前端之JavaScript(ES6)
    前言ES6同样是ECMAScript的拓展,发布于2015年,目前多数浏览器对于部分ES6更新内容不支持,通常需要借助bable编译器编译成ES5或者ECMAScript早期版本语法去执行。ES6的学习推荐阮一峰老师的ES6教程。ES6ES6是ECMAScript最近一次较大版本的更新,更新内容主要是一......
  • 重学Java设计模式-结构型模式-享元模式
    重学Java设计模式-结构型模式-享元模式内容摘自:https://bugstack.cn/md/develop/design-pattern/2020-06-14-重学Java设计模式《实战享元模式》.html#重学-java-设计模式-实战享元模式「基于redis秒杀-提供活动与库存信息查询场景」享元模式介绍图片来自:https://refactorin......
  • 一文搞懂Java异常处理
    一、什么是异常处理在Java编程中,异常处理是一种机制,用于处理程序运行时可能出现的异常情况。当程序出现异常时,程序会抛出一个异常对象,如果不加以处理,程序就会终止运行。因此,我们需要使用异常处理机制来捕获并处理这些异常,以使程序能够在出现异常时继续运行。在Java中,异常处理主要......
  • Java计算百分比
    代码如下publicstaticvoidmain(String[]args){floatnum=3.14f;inttotal=10;//创建一个数值格式化对象java.text.NumberFormatnumberformat=java.text.NumberFormat.getInstance();//设置精确到小数点后2位......
  • 错题一:java中的值传递与引用传递
    考察的知识点:在java中,原始数据类型的传递都是值传递,传递的是值的副本,形参改变对实参没有影响;引用传递传递的是引用类型数据(传递的是内存地址),如String、Map、类对象等,因此形参发生变化实参也会随之变化。原始题目:classValue{publicinti=15;}publicclassTest{pu......
  • Mac 上启动nacos 出现异常java.lang.IllegalArgumentException: the length of secret
    这个异常提示是因为Nacos的配置中加密相关的参数未正确填写所导致的。我们只需要找到nacos/conf/application.properties文件,然后给nacos.core.auth.plugin.nacos.token.secret.key这个属性配置一个大于32位的随机字符串即可这个字符串大家可以在jwt的官网去生成:https://jwt.......
  • 用jvisualvm监控远程java程序
    jvisualvm是一个JDK自带的java性能监控程序。对于本地监控,直接启动jvisualvm,在它面板里面就可以看到所有在运行的java程序。但是如果要监控在别的机器上运行的java程序,那么运行的时候要多加几个参数(假设我们的类名字叫Hello):java-Dcom.sun.management.jmxremote-Dcom.sun.man......
  • JAVA封装Mongodb操作之一:MongoRepository
    MongoRepository与HibernateTemplete相似,提供一些基本的方法,实现的方法有findone(),save(),count(),findAll(),findAll(Pageable),delete(),deleteAll(),基本就这几个,但是: 与HibernateRepository类似,通过继承MongoRepository接口,我们可以非常方便地实现对一个对象的增删改查,要使用R......
  • Java中transient关键字
    一、概要介绍本文要介绍的是Java中的transient关键字,transient是短暂的意思。对于transient修饰的成员变量,在类的实例对象的序列化处理过程中会被忽略。因此,transient变量不会贯穿对象的序列化和反序列化,生命周期仅存于调用者的内存中而不会写到磁盘里进行持久化。1.序列化J......