Hidden Beauties of Java Enums

Поделиться
HTML-код
  • Опубликовано: 5 апр 2023
  • This video shows some code examples of what can be done with Java Enums.
    NOTE: there is actually an error in one of the code examples, just to check if someone notices ;-)
    Around 12'-13' the code "class Customer() {" should not have the "()".
    The blog post is available here:
    webtechie.be/post/2023-03-22-...
    And the sources here:
    github.com/foojayio/getting_s...
    Other links mentioned:
    * api.pi4j.com/web/
    + library github.com/Pi4J/pi4j-board-info
    * lottie4j.com/
    + library github.com/lottie4j/lottie4j/...
    * 4drums.media/
    * www.jbang.dev/
    * foojay.io/today/controlling-e...
  • КиноКино

Комментарии • 24

  • @TheKundan11
    @TheKundan11 10 месяцев назад +5

    Wonderful video Frank. Learned a new thing in Java. Please also make videos on JavaFX tutorials. There are very few JavaFX tutorials online. Please keep posting videos regularly.

  • @VerhoevenSimon
    @VerhoevenSimon Год назад +2

    Indeed some nice things to do with enums, and that customer state is indeed quite an apt example. And the code error was indeed spotted at the 12:04 mark. Thank you for the interesting video and blog post.

    • @FrankDelporte
      @FrankDelporte  Год назад

      Thanks! And you watched attentively to spot the error... ;-)

  • @Manuel-oe4gv
    @Manuel-oe4gv Год назад +4

    I came from reddit ! Nice content I want to be good programmer like you one day !! I have 5 years of exp and it feels like I know nothing

    • @FrankDelporte
      @FrankDelporte  Год назад +8

      I have 30 years of experience and still each day there are things I don't understand. That's how things work. Embrace it! It's an opportunity to evolve and learn continuously 😃

  • @enes1565
    @enes1565 2 месяца назад +2

    thanks for good explanation❤

  • @Misa7531
    @Misa7531 18 дней назад +1

    Hey great overview of enum functionality, you could also show that an enum is basically a immutable class and can also implement interfaces, this could potentiality lead to interesting use cases like an light version of strategy pattern, also quick question, why you are doing Arrays.stream().sequential() is'n it sequential by default ? Other then this great video you got one more subscriber :D

    • @FrankDelporte
      @FrankDelporte  17 дней назад

      Thanks for your feedback! There is actually a lot more that could also fit in this video; maybe I need to create a follow-up... ;-)

  • @avalagum7957
    @avalagum7957 2 месяца назад +1

    A few notes:
    - your project directory has an .idea directory but you open it with vscode. You don't want to show people your IntelliJ? :)
    - you're using java 17, aren't you? If yes, your switch (...) { case ...: return 1; ... } doesn't look very nice as there are a lot of return's in there.
    - you use jband EnumExtended.java instead of java EnumExtendec.java. What's the advantage of using jbang over java?

    • @FrankDelporte
      @FrankDelporte  Месяц назад

      Hi, thanks for your feedback!
      1/ I use both Visual Studio Code and IntelliJIDEA, normally I add the .idea directory to gitignore, but probably forgot it here... Check out my other videos, you'll see I definitely do show it :-)
      2/ Yes switch/case can be further improved with newer Java versions, good remark!
      3/ When you don't use dependencies, java can handle it. But I do prefer JBang as it has a way to define dependencies inside the file and you don't need a full Maven or Gradle project. See pi4j.com/examples/jbang/ for more info.

  • @donwinston
    @donwinston 4 месяца назад +1

    I fail to see any benefit of enums over: final String[] values = { "X1", "X2", ..., "Xn" };

    • @luquillasnano
      @luquillasnano 4 месяца назад

      I'm with you. It's even more verbose for me than working with old plain arrays. I'd really like to understand all the enthusiasm with them, but I just can't 🫤

    • @mrshahcloud
      @mrshahcloud 4 месяца назад

      Because you can share it on multiple class, easy to document on openapi etc

    • @donwinston
      @donwinston 4 месяца назад

      @@mrshahcloud You can "put public static final MyEnum = { "X1", "X2", "X3" };" in a static class and make it part of a library.

    • @mrshahcloud
      @mrshahcloud 4 месяца назад

      @@donwinston of course you can, there are many ways to skin a cat. We could also create a complete large program using only the main class and opt out of using oop in java. Whichever suits the use case.

    • @donwinston
      @donwinston 4 месяца назад

      @@mrshahcloud No. the point is the enum feature has little to nothing to offer.

  • @yaroslavpanych2067
    @yaroslavpanych2067 Месяц назад

    1. "Enum members are instances of the enum type" ehm, yeah. Surprise. It is the case since forever. It is not hidden, always been there. "Enum type much like any class can have fields and methods, including constructors". Yeah, nothing new really, nothing hidden either!
    2. Also, cringe using java instead of normal javac->java sequence. You are targeting pupils, students, newbies! Don't teach them bad!