2010-12-07 29 views
5

Java'da bir ArrayList dizisini iki boyutlu bir diziye nasıl dönüştürüyorum?ArrayList <Object[]> dosyasını Object [] [] 'a Dönüştürme

Örnek:

ArrayList<String[]> results = new ArrayList<String[]>(); 
String [] columns = {a few strings}; 


JTable table = new JTable(results.toArray(), columns); 

I JTable (Object [], [] Nesne) hatayı tanımlanmamıştır alır.

cevap

15

List<T>.toArray(T[]) yöntemi işi yapmalıdır. Örneğin

:

List<String[]> list = ... 
String[][] res = new String[list.size()][]; 
list.toArray(res); 

veya

List<String[]> list = ... 
Object[][] res = new Object[list.size()][]; 
list.toArray(res); 

bu aşırı ziyade List<T>.toArray() aşırı kullanırsanız

, sen dizinin asıl türünü seçebilirsiniz. Fazladan bir kod satırı alır, ancak dizi tipi önemliyse, bunu yapmanın yolu budur.

Çalışmıyor

+0

Anladım. Object [] [] yerine res = Object [] kullanıyordum. Teşekkürler! (Evet, OP'deki kod bir önceki versiyonudur.) – yodie

+0

Çok teşekkürler! <3 –

3

Bu durumda, array.toArray() işini gerçekleştirir.

+0

(List<T>.toArray() aşırı yük size kimin gerçek tip Object[] olan bir dizi ... listenin jenerik türü veya liste elemanlarının gerçek tip (ler) in bakılmaksızın. Verir). OP'yi düzenleyeceğim. – yodie

+0

@yodie - daha iyi bir çözüm için cevabımı görün. –

+0

@Stephen C - bitti! Yorum yapmak için birkaç saniye sürdü ve kabul etmek için üç dakika daha aldı! – yodie