【问题标题】:How to empty specific char array positions如何清空特定的字符数组位置
【发布时间】:2012-03-08 13:52:47
【问题描述】:

我有一个 200 元素长的 char 数组,我在循环中加载带有新字符的向量,并且 在每个循环中,元素编号都可能与前一个不同,那么如何清空数组中不需要的位置? 注意:元素大小必须为 200,我无法解决使用 new 创建对象的新实例的问题。

谢谢

【问题讨论】:

    标签: java arrays char


    【解决方案1】:

    你的意思是这样的:

    Arrays.fill(array, index, array.length, '\0');
    

    ?当然,这只会用 U+0000 值覆盖数组的其余部分……不存在 char[] 元素为“空”之类的东西。数组中的每个元素总是有一个char; U+0000 是一种表示“不要将其视为真实数据”的方式。

    【讨论】:

      【解决方案2】:

      如果您尝试删除字符,我会使用 StringBuilder。这比使用 Vector 更有效。

      char[] chars = new char[50];
      Arrays.fill(chars, '-');
      
      StringBuilder sb = new StringBuilder();
      sb.append(chars);
      // remove characters 10 to 15.
      sb.delete(10, 15);
      // remove a character
      sb.deleteCharAt(24);
      // replace some characters
      sb.replace(30, 40, "Hello World");
      
      System.out.println(sb);
      

      打印

      ------------------------------Hello World----
      

      【讨论】:

        猜你喜欢
        • 2010-12-06
        • 2020-07-07
        • 2023-03-09
        • 1970-01-01
        • 2023-03-22
        • 2021-09-25
        • 1970-01-01
        • 1970-01-01
        • 2011-01-15
        相关资源
        最近更新 更多