|  | // Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  |  | 
|  | package collectiontoarray; | 
|  |  | 
|  | import java.util.ArrayList; | 
|  | import java.util.Arrays; | 
|  | import java.util.List; | 
|  | import java.util.function.IntFunction; | 
|  |  | 
|  | public class Main { | 
|  | public static void main(String[] args) { | 
|  | List<String> list = new ArrayList<>(); | 
|  | list.add("one"); | 
|  | list.add("two"); | 
|  | // This default method was added in Android T. | 
|  | String[] toArray = list.toArray(String[]::new); | 
|  | System.out.println(Arrays.toString(toArray)); | 
|  |  | 
|  | List<String> myList = new MyList<>(); | 
|  | myList.add("one"); | 
|  | myList.add("two"); | 
|  | // This default method was added in Android T. | 
|  | String[] toArray2 = myList.toArray(String[]::new); | 
|  | System.out.println(Arrays.toString(toArray2)); | 
|  | } | 
|  |  | 
|  | @SuppressWarnings("all") | 
|  | public static class MyList<T> extends ArrayList<T> { | 
|  | public <T> T[] toArray(IntFunction<T[]> generator) { | 
|  | System.out.println("Override"); | 
|  | return super.toArray(generator); | 
|  | } | 
|  | } | 
|  | } |