ฉันมีอาเรย์ของสิ่งดั้งเดิมเช่นสำหรับ 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)
สุดท้ายเนื่องจากดูเหมือนว่าจะมีการบ้านเกี่ยวกับเรื่องนั้นหลีกเลี่ยงการโพสต์รหัสการบ้าน