简体   繁体   English

将整数数组列表转换为字符串

[英]Conversion of Integer Arraylist to string

I'm trying to convert the numbers of my Array list into Strings at point i. 我正在尝试在点i将数组列表的数字转换为字符串。 How do I do this so I can create substrings of my numbers? 我该怎么做才能创建数字的子字符串?

ArrayList<Integer> numbers= new ArrayList<Integer>();
for( int i=0; i<=10; i++){
    String numbersString[i] = String.valueOf(numbers[i]);
}

If numbers[i] is of type Integer you can just use its built in toString() method. 如果numbers[i]的类型为Integer ,则可以使用其内置的toString()方法。 However, as numbers is an ArrayList , you need to use numbers.get(i) . 但是,由于numbersArrayList ,因此需要使用numbers.get(i)

String numbersString[i] = ... is invalid syntax. String numbersString[i] = ...是无效的语法。 You have to declare your array outside the loop and then access it simply by numbersString[i] = ... inside the loop. 您必须在循环外部声明数组,然后在循环内部仅通过numbersString[i] = ...对其进行访问。

I would suggest something like this. 我建议这样。

StringBuilder sb = new StringBuilder();
for (Integer number : numbers) {
  sb.append(number != null ? number.toString() : "");
}
System.out.println("The number string = " + sb.toString());

Looking your code you need a input of ArrayList and output of String[]. 查看您的代码,您需要ArrayList的输入和String []的输出。

You can use Collections2 of Guava lib to transform to string and after parse to array. 您可以使用Guava lib的Collections2转换为字符串,然后解析为数组。

        ArrayList<Integer> numbers = new ArrayList<Integer>();

        Collection<String> transform = Collections2.transform(numbers, new Function<Integer, String>() {

            @Override
            @Nullable
            public String apply(@Nullable Integer input) {
                return input.toString();
            }
        });

        final String[] array = transform.toArray(new String[transform.size()]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM