Hidden Beauties of Java Enums

Фильм және анимация

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-hidden-beauties-of-java-enums/
And the sources here:
github.com/foojayio/getting_started_with_java/blob/main/EnumExtended.java
Other links mentioned:
* api.pi4j.com/web/
+ library github.com/Pi4J/pi4j-board-info
* lottie4j.com/
+ library github.com/lottie4j/lottie4j/tree/main/core/src/main/java/com/lottie4j/core/definition
* 4drums.media/
* www.jbang.dev/
* foojay.io/today/controlling-electronics-with-jbang-on-the-raspberry-pi/

Пікірлер: 22

  • @TheKundan11
    @TheKundan1110 ай бұрын

    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.

  • @FrankDelporte

    @FrankDelporte

    10 ай бұрын

    Thanks for your kind words!!

  • @Manuel-oe4gv
    @Manuel-oe4gv Жыл бұрын

    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

    11 ай бұрын

    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 😃

  • @VerhoevenSimon
    @VerhoevenSimon Жыл бұрын

    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... ;-)

  • @enes1565
    @enes15652 ай бұрын

    thanks for good explanation❤

  • @FrankDelporte

    @FrankDelporte

    2 ай бұрын

    You're welcome 😊

  • @avalagum7957
    @avalagum7957Ай бұрын

    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
    @donwinston3 ай бұрын

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

  • @luquillasnano

    @luquillasnano

    3 ай бұрын

    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

    3 ай бұрын

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

  • @donwinston

    @donwinston

    3 ай бұрын

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

  • @mrshahcloud

    @mrshahcloud

    3 ай бұрын

    @@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

    3 ай бұрын

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

  • @yaroslavpanych2067
    @yaroslavpanych206720 күн бұрын

    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!