Тёмный

Records In Java - Full Tutorial - The Best New Java Feature You're Not Using 

Coding with John
Подписаться 328 тыс.
Просмотров 237 тыс.
50% 1

How to use Records in Java!
Complete Java course: codingwithjohn.thinkific.com/...
Records are a new concept added to the Java language as a preview feature in Java 14, and in a full release in Java 16. In this intermediate Java programming tutorial, we will talk all about when you would want to use Java records, and exactly how to do it.
If you're confused by records in Java, you're in the right place!
Learn or improve your Java by watching it being coded live!
Hi, I'm John! I'm a Lead Java Software Engineer and I've been in the programming industry for more than a decade. I love sharing what I've learned over the years in a way that's understandable for all levels of Java learners.
Let me know what else you'd like to see!
Links to any stuff in this description are affiliate links, so if you buy a product through those links I may earn a small commission.
📕 THE best book to learn Java, Effective Java by Joshua Bloch
amzn.to/36AfdUu
📕 One of my favorite programming books, Clean Code by Robert Martin
amzn.to/3GTPVhf
🎧 Or get the audio version of Clean Code for FREE here with an Audible free trial
www.audibletrial.com/johnclean...
🖥️Standing desk brand I use for recording (get a code for $30 off through this link!)
bit.ly/3QPNGko
📹Phone I use for recording:
amzn.to/3HepYJu
🎙️Microphone I use (classy, I know):
amzn.to/3AYGdbz
Donate with PayPal (Thank you so much!)
www.paypal.com/donate/?hosted...
☕Complete Java course:
codingwithjohn.thinkific.com/...
codingwithjohn.com

Опубликовано:

 

17 апр 2022

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 530   
@keionvergara7608
@keionvergara7608 2 года назад
you were the reason i got a 5 on my ap comp sci A exam!! you truly have impacted my education and taught me more than my highschool teacher did in 5 months !
@CodingWithJohn
@CodingWithJohn 2 года назад
Awesome, and congrats!
@Reichstaubenminister
@Reichstaubenminister 10 месяцев назад
Funny, 5 would be an E in Germany. Had to think about that for a second.
@justinliu7788
@justinliu7788 9 месяцев назад
It’s 5/5
@ItIsJan
@ItIsJan 9 месяцев назад
​@@Reichstaubenministersprach der reichstaubenminister
@Mahmoudalkasem1997
@Mahmoudalkasem1997 2 года назад
The best person on RU-vid that explains java in such a great way
@pavelsakun2308
@pavelsakun2308 2 года назад
If you didn't see anyone better doesn't mean he is the best ;-) He is good anyway.
@Mahmoudalkasem1997
@Mahmoudalkasem1997 2 года назад
@@pavelsakun2308 this is my opinion and l am free to think whatever I want right ;)
@libertymedicalcommunicatio4908
@libertymedicalcommunicatio4908 2 года назад
Congrats on almost reaching 100K. This one should put you over the top.
@fisch37
@fisch37 2 года назад
You are correct!
@sukusukumar2413
@sukusukumar2413 2 года назад
Please take one class about scanner class..
@AntropomorficznaPersonifikacja
Thanks
@Nanagos
@Nanagos 2 года назад
I recently found out about Records but there are just no good tutorials about it. I'm glad you made one now.
@CodingWithJohn
@CodingWithJohn 2 года назад
Thanks! Yeah there's surprisingly little out there so far. Probably just because it's pretty new.
@GreatProgrammerHsin
@GreatProgrammerHsin 2 года назад
please never stop making videos, these are so helpful!
@pradiptaspointofview1475
@pradiptaspointofview1475 Год назад
Explained quite clearly with detailed examples. Excellent tutorial! This is what I needed to start working with Records in Java.
@sijanbhandari7569
@sijanbhandari7569 2 года назад
Thanks for teaching me more about records, I was always teaching my fellow programmers about this in my workplace.
@arnddeshives147
@arnddeshives147 2 года назад
There is a lot of content like this out there, but you are so much better than the rest in terms of tempo, order, quality and presentation, thank you so much! I started studying CS half a year ago and your videos are 5x quicker at explaining the same thing than my prof. Although sometimes there is some depth missing, but it's good that your videos don't get lost in that, that's what makes it so good. Maybe it would be great if there was a playlist for in depth knowledge as well though.
@leeamraa
@leeamraa 2 года назад
Quality, effective, efficient and much appreciated content.
@bischoffdev
@bischoffdev 2 года назад
I thought I knew all about records (and I am using those extensively) but this is the first time I heard about the compact constructor! Thanks a lot!
@Markki28
@Markki28 2 года назад
awesome as always, thank you for sharing man, I am familiar with records but I'm not aware that I can do specific field validations directly into it, that's very useful thanks man
@simonrozendal7542
@simonrozendal7542 2 года назад
Hi John. Even when i write Java programs quite a while, i still learn new thing from you. Thank you, you are presenting good Java content. Kind regards, Simon Rozendal.
@Atom-Mercury
@Atom-Mercury 9 месяцев назад
Very well explained. Thank you kindly.
@huskydreaming
@huskydreaming 2 года назад
I am advanced in java but it is great to see someone explain it so concise. Amazing explanation on these types of videos. Keep it up!
@randomuserrandom8613
@randomuserrandom8613 2 года назад
Thank you so much. This was very helpful and the way you explain things makes it so easy to understand them. Keep up the good work, John!
@eperrone
@eperrone 2 года назад
Not a Java developer but I have to read Java and Groovy all the time. Your videos are great background to help me understand what I’m looking at. Great stuff.
@emilmathew2257
@emilmathew2257 14 дней назад
Have been following your videos for a while now. Thank you for the awesome content 😊
@nischalofchrist
@nischalofchrist 2 года назад
Thank you, I've always wanted to learn about Records.
@mohamedsaleh5970
@mohamedsaleh5970 2 года назад
You helped me understand concepts that was difficult to understand on my own.
@ccmawil20
@ccmawil20 2 года назад
Explanation is clean and clear. please publish more videos like this. Thanks
@pclclau
@pclclau 2 года назад
At 5:00 you mention that Java generates a default, no-arg constructor *even if* you don't create other constructors. That isn't quite true, Java creates a no-arg constructor *only if* you don't create other constructors. This is why your fields get red underlines as soon as you manually create the no-arg constructor, because there would be a way to have final fields that aren't initialized as soon as the object is created. Before you manually created the no-arg constructor this wasn't a problem, because Java wouldn't generate one since you already had the previous one created.
@eufraniodiogo50
@eufraniodiogo50 2 года назад
That's absolutely true, maybe it was just a runtime exception(subclass of Exception) at his speech. lol
@KaraSuraDraw1
@KaraSuraDraw1 2 года назад
I don’t get what you mean. I feel like your comment just justified what he said. Or do you think he meant even if you have other constructors Java always generates a default no-arg constructor? I think he just put it there for visuals of a no-arg constructor. Because i got that what you said from the video.
@pclclau
@pclclau 2 года назад
@@KaraSuraDraw1 He said that Java provides a no-arg constructor no matter what constructor you already have definded. That's not true.
@alfasolarenergy
@alfasolarenergy 2 года назад
When you create an object of the Class two things happes: 1. MEMORY IS ALLOCATED, 2. THE CONSTRUCOR IS CALLED. By default Java offers a 0 argument construcotrs which are 0 for numeric types, and false for boolean and null. The moment we create our impemtation of constructor ( a constructor which initialize fields) the 0 arg one is no longer called.
@TechiiEngineer
@TechiiEngineer 2 года назад
True , if you have created just an args-constructor ; You cant created object as : new Employee(); That means Employee class doesn’t have no arg constructor ; You have to create one.
@MrLuMax5
@MrLuMax5 2 года назад
Great video. Especially for those who know the basics and are interested in new Java Features after J11. Keep these up!
@iCybqr
@iCybqr 2 года назад
Could you do a video on Consumer, Predicate, and Supplier? I mostly understand what they do, but not when to use them.
@YtubeUserr
@YtubeUserr 4 месяца назад
if you are reading this John, please make this video happen! Thanks!
@mustapharaimilawal8053
@mustapharaimilawal8053 Месяц назад
Thanks a lot for doing this tutorial. Clear, easy to follow explanation as always.
@olivierbegassat851
@olivierbegassat851 7 месяцев назад
Your exposition is always so direct and simple. I love it 🙂
@antonkimberg8914
@antonkimberg8914 2 года назад
Hi John, Thank you for your superb content. Me and other group of people from Estonia are learning Java and your channel helps us to understand hard material in a simple way. Could you please make a video tutorial about streams in future? Thank you in advance, Tony
@budiardjo6610
@budiardjo6610 2 месяца назад
after i am learning about memory management, stack and heap and jvm internals i could really understanding this properly what a powerfull feature
@chenchi6623
@chenchi6623 6 месяцев назад
I like the style of teaching, very clear examples and no bs, earned a sub...
@Jody-nf2bz
@Jody-nf2bz Год назад
Very well explained, readable size text, excellent class! Thank you!
@sameersafi6128
@sameersafi6128 2 года назад
The way of teaching is totally different.. thank you so much for the deep knowledge that you are sharing... kindly make tutorial on stream api in future
@katisbetter2952
@katisbetter2952 2 года назад
Keep up with the good work, you’re helping a lot of people 🙏🏻
@maneshipocrates2264
@maneshipocrates2264 Год назад
Thanks alot John. This talk should be included in the official doc.
@ayberkctis
@ayberkctis Год назад
Hey John! If i knew Records before, i would use them in my previous task in my company because they fitted my task perfectly! Thank you for your effort :)
@jimjimjimjimjim6572
@jimjimjimjimjim6572 2 года назад
Nice pace, and super clear, cheers my man
@tuna5395
@tuna5395 Год назад
Thanks bro you helped with my project !
@haidaraibrahim9195
@haidaraibrahim9195 2 года назад
I've watched all of your videos and they r really really helpful and easy to understand, seriously.. u're an amazing teacher and I wish all success for u and ur channel. Small demand: I'd like to learn about Streams in ur way the next tutorial, if that's fine, however, any tutorial u make wod be awesome. Thx man, you're LaJend (J refers to "Java legend"🙂)
@shankar7435
@shankar7435 Год назад
Never thought learning Java would be such a pleasure. A decade ago, I was frustrated with the Java Reference book and left learning java and continued with my day job in DB language. Now, I am learning java without any issues with the help of youtube. Thanks to the youtube community.
@RamGorre
@RamGorre 2 года назад
That's an awesome no BS explanation. Too good.
@jaspreet821
@jaspreet821 7 месяцев назад
Great episode my man!! 😮😮
@mastershonobi110
@mastershonobi110 2 года назад
Thanks John!!! Always looking for ways to improve and writing clearer/better code.
@mastershonobi110
@mastershonobi110 2 года назад
Side Note…are you using Java 17 or 16? B/c “records” is not supported in Java 11.
@AbdelhameedGamal-ki7th
@AbdelhameedGamal-ki7th 4 месяца назад
So simple and clear explanation. I really appreciate your help.
@BkSMedia
@BkSMedia Год назад
I've been learning Java in my CS degree for the last three years, I had no idea records were a thing!!! So cool!
@CodingWithJohn
@CodingWithJohn Год назад
Yep! They're a relatively recent addition.
@alexornwara3182
@alexornwara3182 2 года назад
I cannot believe I completed many courses and projects in Java without using this 😔🤯 My goodness, think of the time I could've saved! Thank you for making this video. It's so engaging, informative, and very easy to understand.
@hunelysium
@hunelysium Год назад
Hello John, it's always great to listen to your explanations on Java! Thank you for your valuable wisdom!! On a side note, noticed your voice and the way you talk has changed since you become a father :) Hope you and your family well during this different times! Keep making thus great videos, always love watching them!
@RahulSingh-qe4sw
@RahulSingh-qe4sw Год назад
Thank you so much , explaination was very nice.
@longtran12345678
@longtran12345678 2 года назад
your videos really help me to focus on Java again :)
@cverde1234
@cverde1234 2 года назад
This is really similar to records in C#. We don't have compact constructors though. I think compact constructors are really neat.
@chacha-bm4jc
@chacha-bm4jc 2 года назад
Thanks a lot John! Would be there any video about sealed classes? It is also quite cool feature
@JorgetePanete
@JorgetePanete 2 года назад
Perfect tutorial, much appreciated!
@davidfernandotorres3484
@davidfernandotorres3484 2 года назад
Amazing bro! Thanks for the info
@B-Billy
@B-Billy 10 месяцев назад
That's a really good teaching... Thanks 🎉
@RicardoSilvaTripcall
@RicardoSilvaTripcall 2 года назад
Great explanation !!! Congrats ....
@lucashenrique6076
@lucashenrique6076 2 года назад
Thanks for the Video John! Greetings from Brazil 😉
@ChristienChapman
@ChristienChapman 2 года назад
Good tutorial. I will use this from now on, much more simple way to do the same thing. God bless you.
@Naimadmdp
@Naimadmdp Год назад
Nice content mate, thanks for share!!!
@TakeshySun
@TakeshySun 2 года назад
@ Coding with John , Hi, could you please record a video about Java 8 features like Optional and Streams. It will be so wonderfully. And big thank you for short and really useful videos!
@jaimesastre6393
@jaimesastre6393 Год назад
really cool!!! Spring had some simplification, but here it's much better and has also interesting options! Thanks 👍👍
@Giorgi.Japiashvili
@Giorgi.Japiashvili Год назад
What do you mean by the Spring simplication?
@fazithfouseen1548
@fazithfouseen1548 2 года назад
Hi John, Please upload Microservices and spring boot tutorials as well
@KarolKasperek
@KarolKasperek Год назад
u have the best java keyword's tutorials, ty
@electricant55
@electricant55 2 года назад
Except for that neat overriding constructor, it seems like Lombok is still a more useful option, unless you can put annotations on the fields declared in record for things like JPA or JSON serialization
@Darya-pu6ik
@Darya-pu6ik 2 года назад
what is Lombok?
@ThiagoHenriqueDS
@ThiagoHenriqueDS 2 года назад
@@Darya-pu6ik It's a library that allows you to use annotations in order to create things like getters, setters, equals methods, etc. For example, instead of write getters and setters you just use the annotation @Data, @Getter or @Setter above a constructor: @Getter @Setter public Car(String color, String name) { }
@Darya-pu6ik
@Darya-pu6ik 2 года назад
@@ThiagoHenriqueDS thanks, looks helpful!
@shivk498
@shivk498 2 года назад
Lombok is indeed very useful but it still a third party plugin. Java is usually known for its cumbersome syntax but such awesome improvements like records would make java lovers more excited.
@pavelsakun2308
@pavelsakun2308 2 года назад
Seeing comments like this makes me think other devs are spending a lot of time to generate POJOs/DTOs and that's hardly true. That kind of objects is being written once and the rest 99+% of time is spent for writing business logic, so even with what vanilla java and IDEs are providing I do not see HUGE problem of implementing them without record/lombok. The only exception here is readability, but...do you really often open classes named '*DTO" for reading? I really doubt.
@Atom-Mercury
@Atom-Mercury 9 месяцев назад
Great video! Question please: How did you generate the toString method quickly without the IDE generation tool?
@MortenSlottHansen
@MortenSlottHansen 9 месяцев назад
Nice and precise explanation without any fuzz 🎉
@shivk498
@shivk498 2 года назад
Java is usually known for its cumbersome syntax but such awesome improvements like records would make java lovers more excited.
@AHMED-ry2gy
@AHMED-ry2gy 2 года назад
Hey John, Congrats on reaching 110K, please do videos on java streams, java sockets, Mockito and MVC in the future, thank you
@BillyCha00
@BillyCha00 2 года назад
Hi John, you are the best!! please upload Microservices and spring boot tutorials :)
@sandunicula6185
@sandunicula6185 2 года назад
Great presentation! Thanks!
@nokiababai2407
@nokiababai2407 Год назад
Hi dude, please do a series on java streams. This records are very crystal clear thanks
@PratikKumar42
@PratikKumar42 2 года назад
Great video, these really helps alot.
@kermosaarse
@kermosaarse Год назад
That's similar to class declaration in Scala, except that there you can simply specify var or val in front of field name to make it either mutable or immutable. Or make it a case class with immutable fields by default. But in Scala, there is no need for that "compact constructor" because you can write any validation code directly inside the class body.
@argonwheatbelly637
@argonwheatbelly637 Год назад
Guitars 🎸, drums 🥁, and programming. 💻 Yep! You're definitely part of my tribe. Excellent video! Keep it up.
@MrFluteboy1980
@MrFluteboy1980 8 месяцев назад
This video reminds me so much of the mCoding video on python Data classes!
@bacon37460
@bacon37460 2 года назад
Nice feature, thanks John for sharing it with us.
@evagor730
@evagor730 Год назад
Wonderful explanation! Thank you! Shorty and clear)
@overrim13
@overrim13 2 года назад
Thank you for explaining some unexplored topic
@yansoe2191
@yansoe2191 Год назад
Hay John, Thank you for the great content. You really simplify this. Do you mind covering Executor Service (Multithreading)
@WisomofHal
@WisomofHal 2 года назад
Wow, awesome video! There are many ways I can think of to use Records.
@AbdelkebirMalek
@AbdelkebirMalek 2 года назад
I love your videos you're a Hero! Please, visitor pattern implementation 🙏
@givemepepsipls536
@givemepepsipls536 Год назад
he best person on RU-vid that explains java in such a great way
@redcrafterlppa303
@redcrafterlppa303 2 года назад
Thanks I forgot about the compact constructor and now stripped 5 lines from my project
@ting-yuhsu4229
@ting-yuhsu4229 2 года назад
This is amazing! Thank you :D
@bouaddiismail
@bouaddiismail 2 года назад
great lesson as always , grettings from Morocco
@kirankumarsukumar
@kirankumarsukumar Год назад
Omg. You are so amazing at teaching. Thanks Master Yoda
@raz0229
@raz0229 2 года назад
You are so underrated! Hope you reach 1 mil subs soon
@wellingtonaraujo5418
@wellingtonaraujo5418 Год назад
my first video at this channel, let's check out the others one. Ty for helping me to learn more about Java.
@frankjuuh
@frankjuuh 2 года назад
Love you, John. Best teacher.
@delberry8777
@delberry8777 2 года назад
Well...wish I knew this a few years ago...I should really keep up to date with new features. Just reading an article once in a while might save me a lot of work. I love how the fields "getter" methods don't start with "get". I've always hated that (3 extra letters to type and doesn't fall in neatly alphabetically with the other methods).
@anantharamu80
@anantharamu80 Год назад
Love this. Very informative.
@salimnegan7289
@salimnegan7289 2 года назад
Hi i am a french student , we started the poo this week , i think this vidéo gonna help me 😄
@user-qb3ck7cq3k
@user-qb3ck7cq3k 10 месяцев назад
Thank you brother!
@ayed-al-nator
@ayed-al-nator Год назад
Beautiful video 💚 thank you 😊
@darkworld8544
@darkworld8544 2 года назад
Hi John thank Q for ur valuable information sharing love from India 🇮🇳
@kenway346
@kenway346 2 года назад
I randomly stumbled upon this video and ended up subscribing to your channel :)
@djpharaohoftime3200
@djpharaohoftime3200 10 месяцев назад
Interesting feature well explained thank you.
@danigonzalez6231
@danigonzalez6231 2 года назад
Thank you sooooo much!
@berihunhadis3960
@berihunhadis3960 2 года назад
thank you for sharing this nice tutorial, keep it up
@andres98
@andres98 2 года назад
I was waiting for this video so badly :))
@austinegwa9393
@austinegwa9393 2 года назад
wonderful video any reccomendations or comparison to lombok , lombok looks like records with more added functionality
@vladimirspasov5591
@vladimirspasov5591 2 года назад
Great explanation
@user-vc5eq4dw8m
@user-vc5eq4dw8m 2 года назад
Hey John. I am from Iraq, at first I would like to tell you about. Your way of explanation is wonderful, and I study programming as a specialist and understand you, but it is possible to ask me to do the Arabic translation feature because some of the sentences are somewhat difficult for him, I do not understand them correctly and I want to continue with you Thank you 💗💗
@raoufbenabdelwahed6362
@raoufbenabdelwahed6362 10 месяцев назад
well explained as usual !
Далее
Lambda Expressions in Java - Full Simple Tutorial
13:05
Records In Java - Full Tutorial
14:20
Просмотров 22 тыс.
Modern Java - Top Features of Java 9 to 17
20:19
Просмотров 87 тыс.
Java 21 new feature: Virtual Threads #RoadTo21
33:35
Просмотров 52 тыс.
Generics In Java - Full Simple Tutorial
17:34
Просмотров 997 тыс.
Java is mounting a huge comeback
3:40
Просмотров 1,1 млн
Deep Dive with Java Records with Jason Young
29:39
Просмотров 9 тыс.