fork(1) download
  1. import java.util.*;
  2. import java.util.function.*;
  3.  
  4. @FunctionalInterface
  5. interface VarArgsFunction<T, U> extends Function<T[], U> {
  6. @Override
  7. U apply(T... args);
  8. }
  9.  
  10. class Main {
  11. public static void main(String[] args) {
  12. invokeApply();
  13. }
  14. static void invokeApply() {
  15. VarArgsFunction<Double, List<Double>> fn =
  16. Arrays::asList;
  17. List<Double> list = invokeApply(fn, 1.0, 2.0, 3.0);
  18. }
  19. static <T, U> U invokeApply(VarArgsFunction<T, U> fn,
  20. T arg0, T arg1, T arg2) {
  21. return fn.apply(arg0, arg1, arg2); // throws an exception
  22. }
  23. }
Runtime error #stdin #stdout #stderr 0.13s 4575232KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Double;
	at Main.invokeApply(Main.java:21)
	at Main.invokeApply(Main.java:17)
	at Main.main(Main.java:12)