10
แปลง Java Array เป็น Iterable
ฉันมีอาเรย์ของสิ่งดั้งเดิมเช่นสำหรับ int, int [] foo มันอาจจะเป็นขนาดเล็กหรือไม่ int foo[] = {1,2,3,4,5,6,7,8,9,0}; วิธีที่ดีที่สุดในการสร้างIterable<Integer>จากมันคืออะไร? Iterable<Integer> fooBar = convert(foo); หมายเหตุ: โปรดอย่าตอบโดยใช้ลูป (เว้นแต่คุณจะให้คำอธิบายที่ดีเกี่ยวกับวิธีที่คอมไพเลอร์ทำบางสิ่งที่ฉลาดเกี่ยวกับพวกเขา) ยังทราบด้วยว่า int a[] = {1,2,3}; List<Integer> l = Arrays.asList(a); จะไม่ได้รวบรวม Type mismatch: cannot convert from List<int[]> to List<Integer> ตรวจสอบด้วย เหตุใดอาร์เรย์จึงไม่สามารถกำหนดให้กับ Iterable ได้ ก่อนตอบรับ นอกจากนี้หากคุณใช้ห้องสมุดบางอย่าง (เช่น Guava) โปรดอธิบายว่าทำไมสิ่งนี้ถึงดีที่สุด (เนื่องจากมาจาก Google ไม่ใช่คำตอบที่สมบูรณ์: P) สุดท้ายเนื่องจากดูเหมือนว่าจะมีการบ้านเกี่ยวกับเรื่องนั้นหลีกเลี่ยงการโพสต์รหัสการบ้าน