【问题标题】:How to convert long array to string array?如何将长数组转换为字符串数组?
【发布时间】:2023-03-12 01:36:01
【问题描述】:

我从List.getCheckedItemIds 获取ListView 中的检查项目ID,它返回long 数组,现在如何将此数组转换为String 数组?

long [] long_list = ProcessList.getCheckedItemIds();

【问题讨论】:

  • 很难想象你在发帖之前真的尝试过什么。

标签: java android arrays


【解决方案1】:
String[] string_list = new String[long_list.length];

for(int i = 0; i < long_list.length; i++){
    string_list[i] = String.valueOf(long_list[i]);
}

【讨论】:

    【解决方案2】:

    这个问题在几年前可能被认为是没有根据的,但现在考虑到 Java 领域在新兴 Stream API 方面的最新进展,现在值得重新审视。


    在 Java 1.8 及更高版本中,您可以使用内置的 Stream API 进行数组操作,而不是依赖任何第三方 API。

    您现在可以轻松使用

    String[] yourStringArray = Arrays.stream(yourLongArray).mapToObj(String::valueOf).toArray();
    

    如果您打算打印yourStringArray,则可以使用

    将其转换为字符串
    String str = Arrays.toString(yourStringArray);
    


    ****
    幸运的是,Arrays.toString() 可以操作所有类型的数组,所以整个事情可以简化为

    String str = Arrays.toString(yourLongArray);
    

    这不是更干净吗?

    【讨论】:

      【解决方案3】:

      您可以像这样使用 org.apache.commons.lang.StringUtils

      String[] string_list = StringUtils.join(long_list, ",").split(",");
      

      【讨论】:

        【解决方案4】:

        您可以利用 apache 的 BeanUtils 进行数组转换,而无需自己进行迭代,如下所示。

        Long[] longArrays= (Long[]) ConvertUtils.convert(stringArrays, Long[].class);
        

        【讨论】:

          【解决方案5】:

          或者使用 Java 8+,

          Object[] array = ...; // or i.e. Long[] array
          String[] s = Arrays.stream(array).map(String::valueOf).toArray(String[]::new);
          

          【讨论】:

            【解决方案6】:

            可以新建一个String数组,将long数组的值一个一个传给字符串数组:

            String[] s=new  String[long_list.length];
            for(int i=0;i<long_list.length;i++)
            {
            s[i]=String.valueOF(long_list[i]);
            }
            

            对错误感到抱歉。我已经更新了代码。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2021-12-13
              • 1970-01-01
              • 2021-11-20
              • 1970-01-01
              • 2022-01-24
              • 1970-01-01
              • 2017-11-27
              相关资源
              最近更新 更多