November 5th, 2009
aErOnz`How to use method ‘ toArray(T[] a) ‘ in ArrayList Object
No Comments », Java, Programming, Programming Tips, by aErOnz`เผอิญ วันนี้ผมได้ใช้เมธอด ‘toArray(T[] a)’ เลยนึกถึงวันเก่าๆ สมัยหัดเขียน Java ตอนนั้นงงมากๆ ครับว่าอะไรคือ T
แล้วเราจะใช้เมธอดที่ว่านี้อย่างไร
ตามมาดูกันเลยครับ
เมธอด toArray(T[] a) ที่รีเทิร์นค่าT[] กลับมานั้น ตัว T หมายถึง Type หรือชนิดของออปเจคที่เราจะใส่เข้าไปครับ
ส่วนวิธีการใช้คือ
เราจะทำการสร้าง อเรยย์ของออปเจค์ขึ้นมาครับ Integer[] integerArray โดยให้มีขนาดเท่ากับ
ขนาดของ ArrayList จากนั้น ส่้ง อเรยย์อันนี้เข้าไปเพื่อก้อปปี้ค่าจาก ArrayList ต้นแบบมาใส่ครับ
ดังโค้ดนี้
ArrayList<Integer> arrayOfInteger = new ArrayList<Integer>(); arrayOfInteger.add(1); arrayOfInteger.add(2); arrayOfInteger.add(3); arrayOfInteger.add(4); System.out.println("Contents of list: " + arrayOfInteger); Integer[] integerArray = new Integer[arrayOfInteger.size()]; integerArray = arrayOfInteger.toArray(integerArray);
ซึ่ง ลองเข้าไปดูโค้ดของ toArray(T[] a) จะเป็นดังนี้ครับ คือการก้อปปี้ค่าใส่ให้กับ อเรยย์ที่ส่งไปให้จริงๆ
public <T> T[] toArray(T[] a) { if (a.length < size) // Make a new array of a's runtime type, but my contents: return (T[]) Arrays.copyOf(elementData, size, a.getClass()); System.arraycopy(elementData, 0, a, 0, size); if (a.length > size) a[size] = null; return a; }
Last 5 posts by aErOnz`
- aErOnz`Can't convert value ‘0000-00-00 00:00:00′ to TIMESTAMP - January 27th, 2010
- aErOnz`Atomic transaction with ActiveRecord - January 21st, 2010
- aErOnz`Groovy On Grails "Hello World" with Netbeans - November 25th, 2009
- aErOnz`Groovy On Grails Introduction - November 25th, 2009
- aErOnz`[SQL] How to select NULL value - November 13th, 2009
