[Mateusz Herych] Guava beyond Collections

[Mateusz Herych] Guava beyond Collections

Presentation from GDG DevFest - the biggest Google related event in Ukraine. October 24-25, Lviv. Learn more at http://devfest.gdg.org.ua/

3a6de6bc902de7f75c0e753b3202ed52?s=128

Google Developers Group Lviv

October 25, 2014
Tweet

Transcript

  1. 1.
  2. 6.
  3. 8.
  4. 9.

    class Person { private final String firstName; private final String

    lastName; public Person(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } }
  5. 10.

    class Person { private final String firstName; private final String

    lastName; public Person(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } }
  6. 11.
  7. 12.
  8. 14.
  9. 15.
  10. 16.
  11. 18.
  12. 20.
  13. 21.
  14. 22.
  15. 23.
  16. 24.
  17. 25.
  18. 26.

    Wikipedia In programming, nullable types are a feature of the

    type system of some programming languages which allow the value to be set to the special value NULL instead of the usual possible values of the data type. In statically-typed languages, a nullable type is an option type (in functional programming terms), while in dynamically-typed languages (where values have types, but variables do not), equivalent behavior is provided by having a single null value.
  19. 27.
  20. 28.
  21. 30.

    Sir Tony Hoare “I call it my billion-dollar mistake. It

    was the invention of the null reference in 1965.”
  22. 32.
  23. 33.
  24. 34.
  25. 35.
  26. 36.
  27. 37.
  28. 38.
  29. 39.
  30. 40.
  31. 42.
  32. 46.
  33. 49.

    Mutable state - Race conditions (multiple threads anyone?) - Harder

    debugging (what/who caused THAT change to my object?)
  34. 50.

    Mutable state - Race conditions (multiple threads anyone?) - Harder

    debugging (what/who caused THAT change to my object?) - Do you trust your libraries?
  35. 51.
  36. 53.
  37. 54.
  38. 57.
  39. 60.
  40. 62.
  41. 70.
  42. 82.

    ?