fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static <T, X> Optional<T> cast(Optional<X> orgOptional, Class<T> clazz) {
  11. return orgOptional //
  12. .filter(clazz::isInstance) // check instance
  13. .map(clazz::cast); // cast
  14. }
  15.  
  16. public static <T, X> Optional<T> cast2(Optional<X> orgOptional, Class<? extends T> clazz) {
  17. return orgOptional //
  18. .filter(clazz::isInstance) // check instance
  19. .map(clazz::cast); // cast
  20. }
  21.  
  22. public static void main (String[] args) throws java.lang.Exception
  23. {
  24. Ideone instance = new Ideone();
  25. Optional<? extends Ideone> opt = cast(Optional.empty(), instance.getClass());
  26. Optional<Ideone> opt2 = cast2(Optional.empty(), instance.getClass());
  27. }
  28. }
Success #stdin #stdout 0.12s 2184192KB
stdin
Standard input is empty
stdout
Standard output is empty