Screen Shot 2558-02-27 at 7.06.23 PM
ใน Java8 นั้นมีความสามารถต่างๆ เพิ่มเข้ามามากมาย
เช่น Lambda expression, Stream และ Data/Time API เป็นต้น
ซึ่งมันมาเพื่อเปลี่ยนแนวทางในการพัฒนาระบบด้วยภาษา Java กันเลย

และก็ยังมี feature อื่นๆ อีกหลายตัวที่ถูกเพิ่มเข้ามา
ที่ไม่ได้ถูกพูดถึงมากนัก แต่มันมีประโยชน์ และ อำนวยความสะดวกอย่างมาก
ตัวอย่างเช่น การเชื่อมต่อ String ( Join String )

โดยปกติในการเชื่อมต่อ String ใน Java

มักจะใช้งานพวก

  • ใช้เครื่องหมาย +
  • ใช้ String.format()
  • ใช้ StringBuffer
  • ใช้ StringBuilder
  • ใช้ MessageFormatter

แต่ใน Java8 ได้เพิ่ม

Static method ชื่อว่า join() เข้ามาใน class String ให้ใช้งานเลย

ตัวอย่างเช่น
ต้องการเชื่อมต่อข้อมูลที่ประกอบไปด้วย

  • I
  • love
  • You

โดยคั่นด้วยเครื่องหมาย comma (,) สามารถเขียนได้หลายวิธีคือ

ใช้ join( Delimiter, CharSequence )

ใช้ join( Delimiter, Iterator )
สามารถส่ง Collection เข้าไปได้ เช่น

มันทำให้การเชื่อมต่อ String ง่ายขึ้นเยอะเลยนะ

แต่ Java8 ยังไม่หยุดเพียงเท่านี้นะ ยังมี class StringJoiner มาให้อีก

โดยที่ class นี้มันมีความสามารถเยอะกว่า และ แจ่มกว่านะ
คือ สามารถกำหนด Delimeter และตัวเริ่มและสิ้นสุดได้
มาถึงตรงนี้ ต้องงงๆ อย่างแน่นอน
ดังนั้น มาดูตัวอย่างกันดีกว่า

ตัวอย่างต้องการ แสดงข้อมูลของชุดตัวเลข IP
ให้อยู่ในรูปแบบ [192.168.1.234] เราจะแก้ไขปัญหานี้อย่างไรดี ?

ยัง ยังไม่พอนะ ยังมี Stream Collection API อีก

สามารถใช้งานผ่าน reduction operation ของ stream api นั่นเองคือ Joining collector http://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html#joining-java.lang.CharSequence-
ดังนี้

และถ้าต้องการแก้ไขปัญหาเรื่องของ IP ล่ะ ทำอย่างไร

เพียงเท่านี้เราก็สามารถเชื่อมต่อ String ด้วย Java8 แบบง่ายๆ ได้แล้วครับ

Tags:,