JavaRush /จาวาบล็อก /Random-TH /คอฟฟี่เบรค #150. มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java...

คอฟฟี่เบรค #150. มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java กัน 7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA

เผยแพร่ในกลุ่ม

การเรียนรู้ตัวอย่างนิพจน์แลมบ์ดาใน Java

ที่มา:สื่อ ในบทความนี้ เราจะดูนิพจน์แลมบ์ดา ซึ่งเป็นพื้นฐานของการเขียนโปรแกรมฟังก์ชันใน Java คอฟฟี่เบรค #150.  มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java กัน  7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA - 1

ไวยากรณ์นิพจน์แลมบ์ดา

ไวยากรณ์ของนิพจน์แลมบ์ดานั้นใช้งานง่าย เข้าใจง่าย และใช้งานง่าย นิพจน์แลมบ์ดาประกอบด้วย:
  1. พารามิเตอร์อินพุต
  2. ลูกศรตัวดำเนินการ
  3. บล็อกของนิพจน์/คำสั่ง
รูปแบบทั่วไปคือ:
<input-params> -> <function-code>

ตัวอย่างนิพจน์แลมบ์ดา

เราจะเข้าใจนิพจน์ Lambda ได้ดีที่สุดผ่านตัวอย่าง ดังนั้น เรามาดูบางส่วนกัน

1. ไม่ยอมรับอินพุตและไม่ส่งคืนเอาต์พุต

นิพจน์ lambda แบบธรรมดาไม่รับอินพุตใดๆ และไม่ส่งคืนเอาต์พุตใดๆ จริงๆ แล้วเป็นเพียงกลุ่มโค้ดที่ทำงานโดยไม่มีบริบทใดๆ
() -> System.out.println("Here I am!");
การระบุ()ที่จุดเริ่มต้น ในตำแหน่งพารามิเตอร์อินพุต หมายความว่าไม่มีการส่งผ่านพารามิเตอร์ (เช่นเดียวกับวงเล็บว่างที่ตามหลังวิธีการที่ไม่มีพารามิเตอร์)

2. ยอมรับอินพุตเดี่ยว ไม่มีเอาต์พุต

หากต้องการให้นิพจน์แลมบ์ดารับพารามิเตอร์ เราจะวางมันไว้ในตำแหน่งพารามิเตอร์อินพุต:
name -> System.out.println("Here you are too, " + name +  "!");
บันทึก : หากเรามีพารามิเตอร์อินพุตตัวเดียว เราสามารถละเว้นวงเล็บได้ นอกจากนี้เรายังสามารถระบุ (ชื่อ) ซึ่งเป็นที่ยอมรับโดยสมบูรณ์

3. ยอมรับหลายอินพุต ไม่มีเอาต์พุต

เมื่อเราส่งพารามิเตอร์อินพุตหลายตัวไปยังนิพจน์แลมบ์ดา เราต้อง:
  • ใส่พารามิเตอร์ไว้ในวงเล็บ
  • ใช้ลูกน้ำเพื่อแยกระหว่างพวกเขา
(name, food) -> System.out.println("So " + name + " enjoys eating " + food + "... interesting!");

4. มีหลายคำสั่งในส่วนรหัส

การจัดเก็บนิพจน์แลมบ์ดาในคำสั่งบรรทัดเดียวถือเป็นแนวปฏิบัติที่ดี แต่คุณสามารถใช้หลายบรรทัดได้:
() -> {
  System.out.println("The owl and the pussycat went to sea");
  System.out.println("in a beautiful pea green boat");
}

5. ไม่เคยระบุประเภทการคืนสินค้า

ดังที่คุณอาจสังเกตเห็นแล้วว่า เมื่อกำหนดนิพจน์แลมบ์ดา จะไม่มีการระบุประเภทการส่งคืน นี่คือตัวอย่าง:
() -> System.out.println("I don't return anything!")
และอีกหนึ่ง:
() -> "I return this String!"
ตัวอย่างโค้ดทั้งสองเกือบจะเหมือนกัน แต่แลมบ์ดาตัวที่สองส่งคืนสตริง โปรดจำไว้เสมอเมื่อใช้งาน แน่นอนว่าคอมไพเลอร์จะเข้าใจความแตกต่างระหว่างสิ่งเหล่านั้นผ่านการใช้ตัวอธิบายฟังก์ชันแบบมีเงื่อนไข

6. การอนุมานประเภทจะถูกนำไปใช้โดยอัตโนมัติเมื่อเป็นไปได้

ในการกำหนดประเภท คอมไพลเลอร์จะใช้การอนุมานประเภท เมื่อต้องการทำเช่นนี้ จะดูที่บริบทการดำเนินการของนิพจน์แลมบ์ดา สำหรับนักพัฒนาซอฟต์แวร์ นั่นหมายความว่าพวกเขาจะไม่ต้องกังวลกับการแคสต์เป็นประเภทใดประเภทหนึ่งโดยเฉพาะ

7. สัญกรณ์อธิบายฟังก์ชัน

เมื่อเราคิดว่านิพจน์แลมบ์ดาสามารถกำหนดให้กับประเภทใดได้ การใช้ตัวอธิบายฟังก์ชันจะมีประโยชน์มาก ตัวจัดการฟังก์ชันนั้นเป็นลายเซ็นของวิธีการที่มีอยู่ในนิพจน์แลมบ์ดา (หรือวิธีการ) ไวยากรณ์ของมันเกือบจะเหมือนกับนิพจน์แลมบ์ดา ยกเว้นว่าแทนที่จะเป็นส่วนของโค้ด กลับมีส่วนประเภทเอาต์พุต นี่คือตัวอย่าง:
<input-parameter-types> -> <output-parameter-type>

ตัวอย่างคำอธิบายฟังก์ชัน

นี่คือตัวอย่างบางส่วนของตัวอธิบายฟังก์ชัน: () -> () วิธีการที่ไม่รับพารามิเตอร์อินพุตและไม่ส่งคืนค่า (String) -> () วิธีการรับพารามิเตอร์อินพุตและไม่ส่งคืนค่า () -> (int, float) วิธีการที่ไม่รับพารามิเตอร์อินพุตและส่งกลับintและfloat(int[]) - > (SortedMap<Character, Integer>) วิธีการที่ใช้อาร์เรย์intและส่งกลับSortedMapจากCharacterเป็นInteger การมีตัวอธิบายฟังก์ชันช่วยให้ประเมินความเข้ากันได้ของประเภทได้ง่ายขึ้นเมื่อพิจารณาว่าประเภทเป้าหมายใดที่เราสามารถใช้เพื่อนิพจน์แลมบ์ดา

บทสรุป

อย่างที่คุณเห็น นิพจน์ lambda เป็นวิธีที่เรียบร้อยและเรียบง่ายในการสรุปพฤติกรรม มันเป็นหนึ่งในรากฐานของกระบวนทัศน์การเขียนโปรแกรมเชิงฟังก์ชันที่นำมาใช้ใน Java พร้อมกับการเปิดตัว JDK 8

7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA

ที่มา: Better Programming มันยากที่จะเชื่อ แต่หลายปีต่อมา ฉันยังคงพบกับคนที่ไม่รู้เกี่ยวกับคุณสมบัติที่ยอดเยี่ยมเหล่านี้ใน IntelliJ IDEA

1.ค้นหาอะไรก็ได้

เป็นการยากที่จะจดจำทุกคีย์ผสมและติดตามทุกสิ่งที่ IntelliJ IDEA สามารถทำได้ นี่คือสาเหตุที่ฉันมักใช้การค้นหาภายใน IntelliJ IDEA ช่วยให้ฉันค้นหารายการเมนู เครื่องมือ การตั้งค่า และแม้แต่ไฟล์ที่ต้องการได้ในที่เดียว คอฟฟี่เบรค #150.  มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java กัน  7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA - 2

2. รู้ว่าคุณอยู่ที่ไหน

ก่อนที่ฉันจะพบคุณสมบัตินี้ ฉันใช้ปุ่ม “เลือกเปิดไฟล์” เพื่อแสดงไฟล์ที่แก้ไขในปัจจุบันในแผนผังโปรเจ็กต์ คอฟฟี่เบรค #150.  มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java กัน  7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA - 3ตอนนี้ IntelliJ IDEA ทำสิ่งนี้ให้ฉัน นี่ไม่ใช่ตัวเลือกเริ่มต้น ดังนั้นคุณจะต้องตั้งค่าให้กับโปรเจ็กต์ใหม่หรือโปรเจ็กต์ที่มีอยู่แต่ละรายการ คอฟฟี่เบรค #150.  มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java กัน  7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA - 4

3. การเพิ่มประสิทธิภาพ SQL

คุณรู้หรือไม่ว่าปลั๊กอินฐานข้อมูลเริ่มต้นใน IDE ของคุณเป็นมากกว่าตัวดำเนินการ SQL ธรรมดา เนื่องจากข้อเท็จจริงที่ว่าเลเยอร์การคงอยู่ (I/O) นั้นเป็นส่วนที่ช้าที่สุดของแอปพลิเคชันเสมอ ฉันมักจะตรวจสอบให้แน่ใจเสมอว่าคำสั่ง SQL ของฉันมีแผนการดำเนินการที่ดีเมื่อทำงานกับฐานข้อมูลเชิงสัมพันธ์ คอฟฟี่เบรค #150.  มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java กัน  7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA - 5

4. การแก้ไขหลายบรรทัด

คุณอาจเคยใช้คุณสมบัตินี้ใน Sublime Text Editor มาก่อน คอฟฟี่เบรค #150.  มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java กัน  7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA - 6

5. ย้อนกลับ / ไปข้างหน้า

จริงๆ แล้วฉันมักจะกลับไปยังจุดเดิมโดยกดปุ่มย้อนกลับหรือไปข้างหน้า คอฟฟี่เบรค #150.  มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java กัน  7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA - 7ย้อนกลับ/ไปข้างหน้า: ⌥⌘+ลูกศรซ้าย/ขวา (Ctrl+Alt+ลูกศรซ้าย/ขวาสำหรับ Win/Linux) หากต้องการเปิดไฟล์ล่าสุด ให้กด ⌘E (Ctrl+E สำหรับ Win/Linux)

6. บุ๊กมาร์ก

ฉันบุ๊กมาร์กส่วนสำคัญของโค้ดไว้เพื่อให้สามารถอ้างอิงได้อย่างรวดเร็วทุกเมื่อ คอฟฟี่เบรค #150.  มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java กัน  7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA - 8หากต้องการไปที่บุ๊กมาร์ก ให้กด ⌃+<number> (Ctrl+<number> สำหรับ Win/Linux) ฉันจะบอกทันทีว่าฉันไม่ได้ใช้บุ๊กมาร์กมากกว่าสามรายการในแต่ละครั้ง เพราะจะทำให้ยากที่จะจำได้ว่ามีไว้เพื่ออะไร

7. เครื่องมือแก้ไขเดียวสำหรับทุกสิ่ง

ฉันเคยเปิดตัวแก้ไขข้อความอื่นๆ เช่น Visual Studio Code หรือ Sublime เพื่อบันทึกบางส่วนของโค้ด, JSON, XML แล้วลิงก์ไปยังส่วนเหล่านั้น แต่นี่ไม่ใช่ส่วนหนึ่งของโค้ดเบส (โปรเจ็กต์) และ IntelliJ IDEA จะเตือนคุณอย่างชัดเจนเมื่อคุณพยายามสร้างหรือแก้ไขบางสิ่งเช่นนี้ จากนั้นฉันก็เห็นเพื่อนร่วมงานคนหนึ่งของฉันใช้ Snippets และรู้ว่ามันอัจฉริยะแค่ไหน คอฟฟี่เบรค #150.  มาศึกษาตัวอย่างนิพจน์ lambda ในภาษา Java กัน  7 คุณสมบัติที่ประเมินต่ำที่สุดของ IntelliJ IDEA - 9ไฟล์ตัวอย่างใหม่: ⇧⌘N (Shift+Ctrl+N สำหรับ Win/Linux) ตัวอย่างข้อมูลพร้อมใช้งานและซิงค์กับหน้าต่างทั้งหมดของโครงการของคุณ ฉันมักจะใช้สิ่งเหล่านี้เพื่อตรวจสอบและจัดรูปแบบ JSON หรือ SQL ที่ฉันได้รับจากที่อื่น

สูตรลับของฉัน

ไอซิ่งบนเค้กเป็นคุณสมบัติที่ช่วยฉันประหยัดเวลาในการพิมพ์ได้มากทุกวัน Tabnineเป็นปลั๊กอิน JetBrains สำหรับรวบรวมโค้ด Intellij IDEA ที่ขับเคลื่อนโดย AI ตอนนี้ได้ฟรี แต่ต้องรีบหน่อย ไม่คิดว่าจะใช้งานได้นาน
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION