異なるデータ型に対して同じ関数を再利用することはできますか? 私はバイトのArrayListに私はこの複数のデータ型に同じ関数を使用する
public static byte[] arrayListToByteArray(ArrayList<Byte> list) {
byte[] out = new byte[list.size()];
int count = 0;
for (byte x : list) {
out[count] = x;
count++;
}
return out;
}
をしなければならないことをやりたいのであれば、たとえば、私は整数配列
public static int[] arrayListToIntArray(ArrayList<Integer> list) {
int[] out = new int[list.size()];
int count = 0;
for (int x : list) {
out[count] = x;
count++;
}
return out;
}
にInteger型のArrayListを変換する関数を持っているしかし、私は同じコードを異なるデータ型で繰り返し、基本的に同じコードのクラス全体を持つよりも良い方法があるのだろうかと思います。それとも、すべてのデータ型に使用できるようにすることができますか?
されていない場合ラッパーからプリミティブ型を戻したいとします。 –
これは、私がその関数に特有ではなく、とにかく感謝している例です。 – Nightfortress
一般的に、パフォーマンスとJava-yの理由から、プリミティブ型ではこれをやりたくはありません。 Javaをプリミティブ/配列ベースのものとObject/Genericsベースのものに分割するのが最善です。これをNumber.classを使用して回避することができますが、ストリームや関数などのプリミティブなバージョンが存在する理由があります。あなたがC#から来ているなら、これは大きな違いです。 – Novaterata