คำตอบสั้น: ใช่สตริงจะไม่เหมาะสำหรับงานอื่น ๆ นอกเหนือจากการจัดเก็บและเข้าถึงลำดับของตัวละครต้นฉบับเดิมและแม้ว่าบิตพื้นฐานของนามธรรมสตริงมีประโยชน์ในการอ้างอิงถึงพวกเขาเป็นตัวแปรหรือค่าคงที่
คำตอบยาว: ภาษาส่วนใหญ่เสนอประเภทที่ใกล้กับโดเมนของปัญหาของคุณและแม้ว่าพวกเขาจะไม่พวกเขาอาจมีวิธีที่คุณสามารถกำหนดleft
เป็นเอนทิตีที่แตกต่างจากright
(ฯลฯ ฯลฯ ) เปลี่ยนเป็นสตริงโดยใช้"left"
เป็นเพียงการปรับภาษาและการทำงานที่เป็นประโยชน์ของ IDE เช่นการตรวจสอบข้อผิดพลาด แม้ว่าคุณจะต้องใช้
left = "left";
หรือสิ่งที่เทียบเท่ามันมีข้อดีที่จะใช้สตริงเมื่อคุณอ้างถึงมันในรหัสของคุณ ตัวอย่างเช่น,
if (player.direction == Left)
จะถูกตรวจพบว่าเป็นข้อผิดพลาดในการคอมไพล์เวลา (กรณีที่ดีที่สุด, จาวาและเช่นนั้น) หรือถูกตั้งค่าสถานะโดย IDE ใด ๆ ที่คุ้มค่าบิตเป็นผิด (กรณีที่เลวร้ายที่สุด, พื้นฐานและเช่นนั้น)
นอกจากนี้การมีแนวคิดleft
ว่าเป็นเอนทิตีที่อ้างอิงได้จะช่วยให้คุณปรับทิศทางใดก็ตามที่คุณตัดสินใจว่าจะไปกับประเภททิศทางนั้น โดยใช้ทิศทางมีความมุ่งมั่นที่จะเป็น"left"
หากคุณพบหรือสร้างสิ่งที่เป็นนามธรรมที่ดีกว่าสำหรับชนิดที่คุณต้องไปล่าสัตว์ผ่านร่างกายรหัสทั้งหมดของคุณเปลี่ยนอินสแตนซ์ของทุกString
"left"
ค่าคงที่หรือตัวแปรจะไม่ต้องการการเปลี่ยนแปลงใด ๆ หากอธิบายรายละเอียด
ประเภทที่คุณต้องการนั้นขึ้นอยู่กับโดเมนของคุณ การวางแผนรหัสของคุณจะทำอย่างไรกับของคุณleft
? บางทีคุณอาจต้องการสะท้อนแกน x ของพื้นผิวหรือสไปรต์ที่หันไปทางซ้ายหรือเคลื่อนที่ไปข้างหน้า ถ้าเป็นเช่นนั้นคุณอาจต้องการสร้างleft
วัตถุที่มีคุณสมบัติหรือวิธีการที่สะท้อนถึงพฤติกรรมนั้นโดยที่right
วัตถุของคุณมีผลลัพธ์ที่ไม่ทำมิเรอร์ตรงกันข้าม คุณสามารถทำตรรกะนั้นในวัตถุที่แสดงถึงสไปรต์หรือพื้นผิวซึ่งในกรณีนี้คุณจะต้องใช้"left"
แทนleft
เหตุผลที่ระบุข้างต้น
ใน Java (และอาจเป็นภาษาอื่นที่ฉันยังไม่รู้) enum
เป็นทางเลือกที่ดีเพราะใน Java enum
มีประโยชน์เช่นเดียวfinal class
กับชุดจำนวน จำกัด คุณสามารถกำหนดลักษณะการทำงานได้หากต้องการและคุณสามารถสลับไปใช้คลาสแบบเปิดโดยไม่ต้องเพิ่มความยุ่งยากใด ๆ นอกเหนือจากไฟล์ที่ประกาศenum
แต่หลายภาษามองenum
ว่าเป็นประเภทดั้งเดิมหรือต้องการใช้ไวยากรณ์พิเศษเพื่อใช้งาน สิ่งนั้นรั่วenum
ไปที่รหัสที่ไม่มีธุรกิจและอาจจำเป็นต้องแก้ไขในภายหลัง ตรวจสอบให้แน่ใจว่าคุณเข้าใจแนวคิดของภาษาenum
ก่อนที่จะพิจารณาตัวเลือก