Solución:
Lo que quieres es el Arrays.toString(int[])
método:
import java.util.Arrays;
int[] array = new int[lnr.getLineNumber() + 1];
int i = 0;
..
System.out.println(Arrays.toString(array));
Hay una estática Arrays.toString
método auxiliar para cada tipo de Java primitivo diferente; el de int[]
dice esto:
public static String toString(int[] a)
Devuelve una representación de cadena del contenido de la matriz especificada. La representación de cadena consiste en una lista de los elementos de la matriz, encerrados entre corchetes (
"[]"
). Los elementos adyacentes están separados por los caracteres.", "
(una coma seguida de un espacio). Los elementos se convierten en cadenas como porString.valueOf(int)
. Devoluciones"null"
sia
es nulo.
System.out.println(array.toString());
debiera ser:
System.out.println(Arrays.toString(array));
Muy de acuerdo con @Patrik M, pero lo que pasa con Arrays.toString es que incluye “[“ and “]” y “,” en la salida. Así que simplemente usaré una expresión regular para eliminarlos de afuera de esta manera
String strOfInts = Arrays.toString(intArray).replaceAll("\[|\]|,|\s", "");
y ahora tiene una cadena que se puede analizar de nuevo a java.lang.Number
, por ejemplo,
long veryLongNumber = Long.parseLong(intStr);
O puede usar las secuencias de Java 8, si odia las expresiones regulares,
String strOfInts = Arrays
.stream(intArray)
.mapToObj(String::valueOf)
.reduce((a, b) -> a.concat(",").concat(b))
.get();