You can not "append" elements to an array in Java. The length of the array is determined at the point of creation and can't change dynamically.
If you really need a long[]
the solution is to create a larger array, copy over the elements, and point the reference to the new array, like this:
long[] s = new long[] {0, 1, 2};
long[] toAppend = { 3, 4, 5 };
long[] tmp = new long[s.length + toAppend.length];
System.arraycopy(s, 0, tmp, 0, s.length);
System.arraycopy(toAppend, 0, tmp, s.length, toAppend.length);
s = tmp; // s == { 0, 1, 2, 3, 4, 5 }
However, you probably want to use an ArrayList<Long>
for this purpose. In that case you can append elements using the .add
-method. If you choose this option, it should look something like
// Initialize with 0, 1, 2
ArrayList<Long> s = new ArrayList<Long>(Arrays.asList(0L, 1L, 2L));
// Append 3, 4, 5
s.add(3L);
s.add(4L);
s.add(5L);
long[] longArray = new long[s.size()];
for (int i = 0; i < s.size(); i++)
longArray[i] = s.get(i);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…