Guest User

Untitled

a guest
Aug 19th, 2019
91
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class OptionalMethodsExample {
  2. public static void main(String[] args) throws Exception {
  3. String name = "Faruk";
  4. String surname = null;
  5.  
  6. Optional<String> optionalOfName = Optional.of(name);
  7. // surname variable'ı null değer içerdiğinden NullPointerException fırlatır.
  8. // Optional<String> optionalOfNSurname = Optional.of(surname);
  9. Optional<String> optionalOfNullableName = Optional.ofNullable(name);
  10. Optional<String> optionalOfNullableSurname = Optional.ofNullable(surname);
  11.  
  12. // get metodu
  13.  
  14. System.out.println(optionalOfName.get()); // Çıktı : Faruk
  15. System.out.println(optionalOfNullableName.get()); // Çıktı : Faruk
  16. // Null değer içeren bir nesneyi get ile yazdırmak istersek NoSuchElementException hatası alırız.
  17. // System.out.println(optionalOfNullableSurname.get());
  18.  
  19. // isPresent metodu
  20.  
  21. boolean isPresentSurname = optionalOfNullableSurname.isPresent();
  22. System.out.println(isPresentSurname); // false dönecektir çünkü surname variable'ı null değer içeriyor.
  23. boolean isPresentName = optionalOfName.isPresent();
  24. System.out.println(isPresentName); // true dönecektir çünkü name alanı tanımlanmıştır.
  25.  
  26. // ifPresent metodu
  27.  
  28. optionalOfName.ifPresent(n -> System.out.println(n.toUpperCase())); // Consumer tipinde bir iş bekler. Çıktı : FARUK olur.
  29.  
  30. // orElse metodu
  31.  
  32. String soyisim = optionalOfNullableSurname.orElse("Genç");
  33. System.out.println(soyisim); // Çıktı : Genç
  34.  
  35. // orElseGet metodu
  36.  
  37. String fullName = optionalOfNullableSurname.orElseGet(() -> optionalOfName.get() + " Genç");
  38. System.out.println(fullName); // Çıktı : Faruk Genç
  39.  
  40. // orElseThrow metodu
  41.  
  42. // optionalOfNullableSurname.orElseThrow(Exception::new); // Çıktı : Exception in thread "main" java.lang.Exception
  43.  
  44. // map metodu
  45.  
  46. Optional<Boolean> aBoolean = optionalOfName.map(String::isEmpty);
  47. System.out.println(aBoolean.get()); // Çıktı : false
  48.  
  49. // filter metodu
  50.  
  51. optionalOfName.filter(word -> word.contains("F")).ifPresent(System.out::println); // F harfi içerenleri filtreleyip ekrana yazdık. Çıktı : Faruk
  52. }
  53. }
RAW Paste Data