java.lang.System.arraycopy()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(5.7k)|赞(0)|评价(0)|浏览(179)

本文整理了Java中java.lang.System.arraycopy()方法的一些代码示例,展示了System.arraycopy()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。System.arraycopy()方法的具体详情如下:
包路径:java.lang.System
类名称:System
方法名:arraycopy

System.arraycopy介绍

[英]Copies length elements from the array src, starting at offset srcPos, into the array dst, starting at offset dstPos.

The source and destination arrays can be the same array, in which case copying is performed as if the source elements are first copied into a temporary array and then into the destination array.
[中]将长度元素从数组src(从偏移量srcPos开始)复制到数组dst(从偏移量dstPos开始)。
源数组和目标数组可以是同一个数组,在这种情况下,执行复制时就好像源元素先复制到临时数组,然后再复制到目标数组一样。

代码示例

代码示例来源:origin: square/okhttp

public static String[] concat(String[] array, String value) {
 String[] result = new String[array.length + 1];
 System.arraycopy(array, 0, result, 0, array.length);
 result[result.length - 1] = value;
 return result;
}

代码示例来源:origin: google/guava

@Override
public Object[] toArray() {
 Object[] copyTo = new Object[size];
 System.arraycopy(queue, 0, copyTo, 0, size);
 return copyTo;
}

代码示例来源:origin: google/guava

@Override
public Object[] toArray() {
 Object[] result = new Object[contents.length];
 System.arraycopy(contents, 0, result, 0, contents.length);
 return result;
}

代码示例来源:origin: google/guava

private static byte[] extract(byte[] result, int length) {
 if (length == result.length) {
  return result;
 } else {
  byte[] trunc = new byte[length];
  System.arraycopy(result, 0, trunc, 0, length);
  return trunc;
 }
}

代码示例来源:origin: stackoverflow.com

public <T> T[] concatenate (T[] a, T[] b) {
  int aLen = a.length;
  int bLen = b.length;

  @SuppressWarnings("unchecked")
  T[] c = (T[]) Array.newInstance(a.getClass().getComponentType(), aLen+bLen);
  System.arraycopy(a, 0, c, 0, aLen);
  System.arraycopy(b, 0, c, aLen, bLen);

  return c;
}

代码示例来源:origin: google/guava

@Override
 protected List<String> create(String[] elements) {
  String[] prefix = {"f", "g"};
  String[] suffix = {"h", "i"};
  String[] all = new String[2 + elements.length + 2];
  System.arraycopy(prefix, 0, all, 0, 2);
  System.arraycopy(elements, 0, all, 2, elements.length);
  System.arraycopy(suffix, 0, all, 2 + elements.length, 2);
  return ImmutableList.copyOf(all).subList(2, elements.length + 2);
 }
}

代码示例来源:origin: google/guava

@Override
 protected List<String> create(String[] elements) {
  String[] suffix = {"f", "g"};
  String[] all = new String[elements.length + suffix.length];
  System.arraycopy(elements, 0, all, 0, elements.length);
  System.arraycopy(suffix, 0, all, elements.length, suffix.length);
  return ImmutableList.copyOf(all).subList(0, elements.length);
 }
}

代码示例来源:origin: google/guava

private ArrayTable(ArrayTable<R, C, V> table) {
 rowList = table.rowList;
 columnList = table.columnList;
 rowKeyToIndex = table.rowKeyToIndex;
 columnKeyToIndex = table.columnKeyToIndex;
 @SuppressWarnings("unchecked")
 V[][] copy = (V[][]) new Object[rowList.size()][columnList.size()];
 array = copy;
 for (int i = 0; i < rowList.size(); i++) {
  System.arraycopy(table.array[i], 0, copy[i], 0, table.array[i].length);
 }
}

代码示例来源:origin: google/guava

private static Integer[] concat(Integer[] left, Integer[] right) {
 Integer[] result = new Integer[left.length + right.length];
 System.arraycopy(left, 0, result, 0, left.length);
 System.arraycopy(right, 0, result, left.length, right.length);
 return result;
}

代码示例来源:origin: google/guava

private static Byte[] concat(Byte[] left, Byte[] right) {
 Byte[] result = new Byte[left.length + right.length];
 System.arraycopy(left, 0, result, 0, left.length);
 System.arraycopy(right, 0, result, left.length, right.length);
 return result;
}

代码示例来源:origin: google/guava

private void add(Object[] elements, int n) {
 getReadyToExpandTo(size + n);
 System.arraycopy(elements, 0, contents, size, n);
 size += n;
}

代码示例来源:origin: google/guava

/**
 * Appends {@code values}, in order, to the end of the values the built {@link
 * ImmutableIntArray} will contain.
 */
public Builder addAll(int[] values) {
 ensureRoomFor(values.length);
 System.arraycopy(values, 0, array, count, values.length);
 count += values.length;
 return this;
}

代码示例来源:origin: google/guava

private static byte[] prepended(byte b, byte[] array) {
 byte[] out = new byte[array.length + 1];
 out[0] = b;
 System.arraycopy(array, 0, out, 1, array.length);
 return out;
}

代码示例来源:origin: google/guava

private void growIfNeeded() {
 if (size > queue.length) {
  int newCapacity = calculateNewCapacity();
  Object[] newQueue = new Object[newCapacity];
  System.arraycopy(queue, 0, newQueue, 0, queue.length);
  queue = newQueue;
 }
}

代码示例来源:origin: google/guava

@Override
public byte[] getExpected(byte[] bytes) {
 if (initialBytes == null) {
  return checkNotNull(bytes);
 } else {
  byte[] result = new byte[initialBytes.length + bytes.length];
  System.arraycopy(initialBytes, 0, result, 0, initialBytes.length);
  System.arraycopy(bytes, 0, result, initialBytes.length, bytes.length);
  return result;
 }
}

代码示例来源:origin: google/guava

@Override
public Set<Entry<K, V>> create(Object... elements) {
 Entry<K, V>[] entries = createArray(elements.length);
 System.arraycopy(elements, 0, entries, 0, elements.length);
 return createFromEntries(entries);
}

代码示例来源:origin: google/guava

@Override
 protected List<String> create(String[] elements) {
  String[] rest = new String[elements.length - 2];
  System.arraycopy(elements, 2, rest, 0, elements.length - 2);
  return Lists.asList(elements[0], elements[1], rest);
 }
})

代码示例来源:origin: google/guava

@Override
 protected Set<AnEnum> create(AnEnum[] elements) {
  AnEnum[] otherElements = new AnEnum[elements.length - 1];
  System.arraycopy(elements, 1, otherElements, 0, otherElements.length);
  return Sets.immutableEnumSet(elements[0], otherElements);
 }
})

代码示例来源:origin: google/guava

@Override
 protected List<String> create(String[] elements) {
  String[] rest = new String[elements.length - 1];
  System.arraycopy(elements, 1, rest, 0, elements.length - 1);
  return Lists.asList(elements[0], rest);
 }
})

代码示例来源:origin: google/guava

/**
 * Appends {@code values}, in order, to the end of the values the built {@link
 * ImmutableLongArray} will contain.
 */
public Builder addAll(ImmutableLongArray values) {
 ensureRoomFor(values.length());
 System.arraycopy(values.array, values.start, array, count, values.length());
 count += values.length();
 return this;
}

相关文章