Beispiel #1
0
  private void doTestToArrayImpl2(List<Integer> list, Integer[] array1, boolean expectModify) {
    Integer[] starting = Platform.clone(array1);
    Integer[] array2 = Platform.clone(array1);
    Object[] reference = list.toArray(array1);

    Object[] target = ObjectArrays.toArrayImpl(list, array2);

    assertEquals(reference.getClass(), target.getClass());
    assertTrue(Arrays.equals(reference, target));
    assertTrue(Arrays.equals(reference, target));

    Object[] expectedArray1 = expectModify ? reference : starting;
    Object[] expectedArray2 = expectModify ? target : starting;
    assertTrue(Arrays.equals(expectedArray1, array1));
    assertTrue(Arrays.equals(expectedArray2, array2));
  }
Beispiel #2
0
 private void doTestToArrayImpl1(List<Integer> list) {
   Object[] reference = list.toArray();
   Object[] target = ObjectArrays.toArrayImpl(list);
   assertEquals(reference.getClass(), target.getClass());
   assertTrue(Arrays.equals(reference, target));
 }
Beispiel #3
0
 @Override
 public Object[] toArray() {
   synchronized (mutex) {
     return ObjectArrays.toArrayImpl(delegate());
   }
 }
Beispiel #4
0
 @Override
 public <T> T[] toArray(T[] array) {
   synchronized (mutex) {
     return ObjectArrays.toArrayImpl(delegate(), array);
   }
 }
 /**
  * A sensible definition of {@link #toArray(Object[])} in terms of {@link #size} and {@link
  * #iterator}. If you override either of these methods, you may wish to override {@link #toArray}
  * to forward to this implementation.
  *
  * @since 7.0
  */
 protected <T> T[] standardToArray(T[] array) {
   return ObjectArrays.toArrayImpl(this, array);
 }