"และตอนนี้ก็ถึงเวลาสำหรับหัวข้อเล็กๆ แต่น่าสนใจ: การแปลงเป็นประเภทสตริง"

"ใน Java ข้อมูลชนิดใดก็ได้สามารถแปลงเป็นสตริงได้"

"นั่นฟังดูดี"

"ดีกว่าเจ๋ง เกือบทุกประเภทสามารถแปลงเป็นสตริงได้โดยปริยาย ซึ่งจะเห็นได้ง่ายเมื่อเราเพิ่มตัวแปรสองตัว โดยที่ตัวหนึ่งเป็นสตริงและอีกตัวหนึ่งเป็นอย่างอื่น ตัวแปรที่ไม่ใช่สตริงจะถูกแปลงเป็น สตริง "

"ลองดูสองสามตัวอย่าง:"

สั่งการ เกิดอะไรขึ้นจริงๆ
int x = 5;
String text = "X=" + x;
int x = 5;
String s = "X=" + Integer.toString(x);
Cat cat = new Cat("Oscar");
String text = "My cat is " + cat;
Cat cat = new Cat("Oscar");
String text = "My cat is" + cat.toString();
Object o = null;
String text = "Object is " + o;
Object o = null;
String text = "Object is " + "null";
String text = 5 + '\u0000' + "Log";
int i2 = 5 + (int) '\u0000';
String text = Integer.toString(i2) + "Log";
String text = "Object is " + (float) 2 / 3;
float f2 = ((float) 2) / 3;
String text = "Object is " + Float.toString(f2);

สรุป:  หากเราเพิ่มสตริง และ ' ประเภทอื่นๆ' ประเภทที่สองจะถูกแปลงเป็นสตริง

"ให้ความสนใจกับบรรทัดที่สี่ในตาราง การดำเนินการทั้งหมดจะดำเนินการจากซ้ายไปขวา นั่นเป็นเหตุผลว่าทำไมการบวก5 + '\u0000' " จึงเหมือนกับการเพิ่มจำนวนเต็ม"

"ถ้าฉันเขียนอะไรแบบนี้ String s = 1+2+3+4+5+"m"ฉันจะได้ s = "15m" ?"

"ใช่ ตัวเลขจะถูกเพิ่มเข้าไปก่อน จากนั้นผลรวมจะถูกแปลงเป็นสตริง"