| // 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); | 
 |     } | 
 |   } | 
 | } |