ใครสามารถอธิบายได้ว่าทำไมฟังก์ชันนี้ใช้งานไม่ได้:
private static void swap(String a, String b) { String c = a; a = b; b = c; }
ตรรกะของการใช้เหตุผลของฉันมีดังนี้ อินพุตเป็นตัวแปรอ้างอิงสองตัว (สตริง a, สตริง b) ซึ่งอ้างอิงถึงสตริงจากอาร์เรย์ String[] ภายในฟังก์ชัน การอ้างอิงจะถูกจัดเรียงใหม่ เหล่านั้น. ถูกจัดเรียงใหม่ในอาร์เรย์ ซึ่งหมายความว่าเมื่อพิมพ์อาร์เรย์หลังจากใช้ฟังก์ชัน swap(String a, String b) กับสององค์ประกอบใดๆ สตริงควรสลับตำแหน่ง แต่ด้วยเหตุผลบางประการสิ่งนี้จึงไม่เกิดขึ้น โปรดช่วยฉันเข้าใจว่าทำไม?
GO TO FULL VERSION