したがって、特定の型の配列を渡すと、同じ型の配列を返すジェネリック メソッドを作成する方法を考えています。私が現在取り組んでいるコードは次のようになります。
public class InsertionSort<T extends Comparable<T>> extends Sort<T>
{
public T[] sort (T[] data)
{
for (int index = 1; index < data.length; index++)
{
T key = data[index];
int position = index;
/* Shift larger values to the right */
while (position > 0 && data[position-1].compareTo(key) > 0)
{
data[position] = data[position-1];
position--;
}
data[position] = key;
}
return data;
}
}
問題: たとえば、Integer[] 配列をこのメソッドにパラメーターとして渡すと、Integer[] ではなく、基本的な Comparable[] または Object[] 配列としてデータが返されます。Integer[]配列が渡された場合はソートしてInteger[]の配列を返すように変更する方法はありますが、String[]配列が渡された場合はソートして返す文字列[]の配列? (Comparable を実装する他の型についても同様)