>>773
総称型の配列をnewすることは、Javaの言語仕様上できない。
多少強引だがこれでOK。

@SuppressWarnings("unchecked")
T[] subElements = (T[]) java.lang.reflect.Array.newInstance(
allElements.getClass().getComponentType(), temp.size());

return temp.toArray(subElements);

つーか、そもそも配列使うのやめればいいだけなんだけどな。