有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将长数组转换为字符串数组?

我从返回long数组的List.getCheckedItemIds中获取ListView中的选中项ID,现在如何将该数组转换为String数组

long [] long_list = ProcessList.getCheckedItemIds();

共 (6) 个答案

  1. # 1 楼答案

    你可以使用org。阿帕奇。平民lang.StringUtils像这样:

    String[] string_list = StringUtils.join(long_list, ",").split(",");
    
  2. # 2 楼答案

    您可以创建一个新的字符串数组,并将long array的值逐个传递给字符串数组:

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

    对不起,我犯了错误。我已经更新了密码

  3. # 3 楼答案

    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]);
    }
    
  4. # 4 楼答案

    您可以利用apache的BeanUtils进行数组转换,而无需像下面这样自己进行迭代

    Long[] longArrays= (Long[]) ConvertUtils.convert(stringArrays, Long[].class);
    
  5. # 5 楼答案

    几年前,这个问题可能被认为是毫无根据的,但考虑到Java land最近在新兴的流API方面取得的进展,现在值得重新审视


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

    您现在可以轻松使用

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

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

    String str = Arrays.toString(yourStringArray);
    


    ***
    幸运的是,Arrays.toString()可以在所有类型的数组上运行,所以整个过程可以简化为

    String str = Arrays.toString(yourLongArray);
    

    这不是更干净吗

  6. # 6 楼答案

    或者使用Java 8+

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