1. ประเภทพื้นฐานสามารถส่งผ่านตามค่าเท่านั้นในขณะที่คลาส encapsulation ที่สอดคล้องกับแต่ละประเภทพื้นฐานจะถูกส่งผ่านโดยการอ้างอิง
2. จากมุมมองประสิทธิภาพประเภทพื้นฐานใน Java ถูกสร้างขึ้นบนสแต็กและทุกประเภทวัตถุถูกสร้างขึ้นบนฮีป (การอ้างอิงของวัตถุถูกสร้างขึ้นบนสแต็ก) ตัวอย่างเช่น
จำนวนเต็ม i = จำนวนเต็มใหม่ (10); ที่ใหม่จำนวนเต็ม () ถูกสร้างขึ้นบนกองและจำนวนเต็มอ้างอิงที่ฉันอยู่บนสแต็ก การเกิดขึ้นของคลาส encapsulation คือการใช้วิธีการบางอย่างที่ไม่สามารถใช้งานได้ในประเภทพื้นฐานเช่น valueof (), toString () ฯลฯ หากคุณต้องการส่งผ่านการอ้างอิงไปยังวัตถุ int แทนค่าคุณสามารถใช้คลาส encapsulation เท่านั้น
ประสิทธิภาพการโทรของการจัดสรรหน่วยความจำบนสแต็กนั้นแตกต่างจากประสิทธิภาพของการจัดสรรหน่วยความจำบนกอง แม้ว่าการจัดสรรหน่วยความจำบนสแต็กนั้นมีประสิทธิภาพ แต่ก็มีการรั่วไหลของหน่วยความจำในการจัดสรรหน่วยความจำบนสแต็ก (นี่เป็นปัญหาที่โปรแกรมเมอร์ปานกลางไม่สามารถแก้ไขได้ ... ) Java ใช้วิธีอัจฉริยะมากในการปรับปรุงประสิทธิภาพของการจัดสรรหน่วยความจำบนกอง อย่างไรก็ตามเรื่องนี้ Java ยังคงช้า เขาไม่น่าจะไปถึง C ++ ได้อย่างรวดเร็วแม้ว่าเขาจะสัญญาว่าวันหนึ่งโอกาสเสมือนจริงจะเร็วเท่ากับรหัสเครื่อง
JDK5.0 สามารถห่อหุ้มโดยอัตโนมัตินั่นคือข้อมูลพื้นฐานสามารถห่อหุ้มโดยอัตโนมัติในคลาส encapsulation ข้อได้เปรียบของประเภทข้อมูลพื้นฐานคือพวกเขาเร็ว (ไม่เกี่ยวข้องกับการสร้างวัตถุและการรีไซเคิล) วัตถุประสงค์ของคลาสการห่อหุ้มส่วนใหญ่เป็นส่วนใหญ่เพื่อจัดการการแปลงข้อมูลได้ดีขึ้น มีหลายวิธีและสะดวกในการใช้งาน
แน่นอนว่าการผ่านของประเภทการห่อหุ้มเป็นผ่านการอ้างอิงเช่น
จำนวนเต็ม a = จำนวนเต็มใหม่ (1);
บ่งชี้ว่าการอ้างอิงประเภทจำนวนเต็มหมายถึงชิ้นส่วนของหน่วยความจำและข้อมูลในหน่วยความจำชิ้นนี้คือ 1; และสิ่งที่เก็บไว้ใน A คือการอ้างอิง (ที่อยู่) ของหน่วยความจำชิ้นนี้ เมื่อผ่าน A ไปยังวิธีหรือวัตถุอื่นการอ้างอิงของ A จะถูกส่งผ่าน
การแปลงระหว่างประเภท:
สตริง b = "123456";
int c = integer.parseint (b);
หมายถึงการแปลงสตริง 123456 เป็นจำนวนเต็มโดยที่ parseint เป็นวิธีการคงที่ซึ่งสามารถใช้โดยตรง
อีกประเด็นหนึ่งคือในบางกรณีต้องใช้คลาส encapsulation เช่นรายการคอลเลกชันซึ่งสามารถเพิ่มวัตถุได้นั่นคือวัตถุ ถ้าอย่างนั้นก็เป็นไปไม่ได้ที่จะเก็บหมายเลขโดยตรง คุณต้องห่อหุ้มตัวเลขลงในวัตถุที่ห่อหุ้มแล้วเก็บไว้ในรายการเช่น
รายการรายการ = new ArrayList ();
list.add (จำนวนเต็มใหม่ (1));
list.add (จำนวนเต็มใหม่ (2));
list.add (จำนวนเต็มใหม่ (3));
list.add (จำนวนเต็มใหม่ (4));
หลังจาก JDK5.0 สามารถบรรจุได้โดยอัตโนมัติดังนั้นจึงสามารถย่อได้ว่า
รายการรายการ = new ArrayList ();
list.add (1);
list.add (2);
list.add (3);
list.add (4);
บทความข้างต้นเข้าใจถึงความแตกต่างและการประยุกต์ใช้ประเภทพื้นฐานและประเภทบรรจุภัณฑ์ของ Java นี่คือเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น