SORU
5 NİSAN 2009, Pazar


Nasıl bir ArrayList ilkel int dizi Tamsayılar içeren dönüştürmek için?

Bir ArrayList ilkel int Tamsayı nesneleri içeren dönüştürmek için çalışıyorum[] aşağıdaki kod parçası, ama derleme atma hatası. Java dönüştürmek mümkün mü?

List<Integer> x =  new ArrayList<Integer>();
int[] n = (int[])x.toArray(int[x.size()]);

CEVAP
5 NİSAN 2009, Pazar


Dönüştürebilirsiniz, ama her şeyi otomatik olarak yapacak bir şekilde sanmıyorum:

public static int[] convertIntegers(List<Integer> integers)
{
    int[] ret = new int[integers.size()];
    for (int i=0; i < ret.length; i  )
    {
        ret[i] = integers.get(i).intValue();
    }
    return ret;
}

Bu ya integers veya içindeki herhangi bir öğe ise bir NullPointerException fırlatır (not null.)

EDİT: yorumlar başı Olarak, liste yineleyici kullanmak LinkedList gibi listeler ile: pis ücretlerinden kaçınmak isteyebilirsiniz

public static int[] convertIntegers(List<Integer> integers)
{
    int[] ret = new int[integers.size()];
    Iterator<Integer> iterator = integers.iterator();
    for (int i = 0; i < ret.length; i  )
    {
        ret[i] = iterator.next().intValue();
    }
    return ret;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jejoab

    Jejoab

    4 NİSAN 2008
  • Watcher3223

    Watcher3223

    15 Kasım 2007