SORU
6 HAZİRAN 2009, CUMARTESİ


Liste dönüştürmek için nasıl<Tamsayı> int[] Java?

Bu soruya benzer: http://stackoverflow.com/questions/880581/java-convert-int-to-integer

Java yeniyim. Nasıl int için bir Liste dönüştürebilirsiniz[] Java? Liste çünkü kafam karıştı.Tamsayı nether çevirebilirsiniz) toArray bir Nesne döndürür aslında [], [] veya int[].

Şimdi bunu yapmak için bir döngü kullanarak ediyorum:

int[] toIntArray(List<Integer> list){
  int[] ret = new int[list.size()];
  for(int i = 0;i < ret.length;i  )
    ret[i] = list.get(i);
  return ret;
}

Bunu yapmanın daha iyi bir yolu yoktur eminim.

CEVAP
6 HAZİRAN 2009, CUMARTESİ


Bunu yapmanın en kolay yolu Apache Commons Lang kullanımı sağlamaktır. İstediğinizi yapabilirsiniz Bu kullanışlı ArrayUtils sınıfı vardır. Integers dizisi için aşırı yük ile toPrimitive yöntemi kullanın.

List<Integer> myList;
 ... assign and fill the list
int[] intArray = ArrayUtils.toPrimitive(myList.toArray(new Integer[myList.size()]));

Bu şekilde tekerleği yeniden icat yok. Commons Lang Java terk eden pek çok yararlı şeyler vardır. Yukarıda, doğru boyutta bir Tamsayı listesi oluşturmak için seçtim. Ayrıca 0-uzunluğu statik Tamsayı bir dizi kullanmak ve Java sağ boyutu: bir dizi tahsis etmek izin verebilirsiniz

static final Integer[] NO_INTS = new Integer[0];
   ....
int[] intArray2 = ArrayUtils.toPrimitive(myList.toArray(NO_INTS));

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How It Should Have Ended

    How It Shoul

    5 Mart 2007
  • Klemens Torggler

    Klemens Torg

    11 Mart 2008
  • UniqueApps

    UniqueApps

    4 Ocak 2009