items
을 CountedItem[]
으로 변환하려면 어떻게해야합니까? 그게 내가 public CountedItem<E>[] getSortedArray()
(마지막 방법)에서이 작업을 수행 할 수 외에제네릭 목록을 제네릭 배열로 변환
import java.util.LinkedList;
import java.util.Collections;
import java.util.Comparator;
public class CountedSet<E>
{
LinkedList<CountedItem<E>> items = new LinkedList<CountedItem<E>>();
private final Comparator<CountedItem<E>> comparator = new Comparator<CountedItem<E>>()
{
@Override
public int compare(final CountedItem<E> o1, final CountedItem<E> o2)
{
return Integer.valueOf(o1.getCount()).compareTo(Integer.valueOf(o2.getCount()));
}
};
public CountedSet()
{
}
public CountedItem<E> add(E item)
{
CountedItem<E> currentItem = null;
for (CountedItem<E> listItem : items)
if (listItem.getItem().equals(item))
{
currentItem = listItem;
break;
}
if (currentItem != null)
currentItem.increment();
else
{
currentItem = new CountedItem<E>(item);
items.add(currentItem);
}
return currentItem;
}
public CountedItem<E>[] getSortedArray()
{
Collections.sort(items, this.comparator);
CountedItem<E>[] array = items.toArraySomeHow();
return array;
}
}
난 당신을 제공하기 위해 많은 세부 사항이 없습니다. 또한 이렇게하면 오류가 발생합니다.
CountedItem<E>[] array = items.toArray(new CountedItem<E>[items.size()]);
// ERROR - Cannot create a generic array of CountedItem<E>.^
java는 일반 배열을 지원하지 않습니다. – hoaz
그리고이 방법은 없습니다. – hetelek
http://stackoverflow.com/questions/3617863/java-convert-generic-linkedlist-to-generic-array –