是否可以對不同的數據類型重用相同的函數? 所以,比如我有,如果我想這樣做有一個字節的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;
}
所以我是一個整數的ArrayList轉換成整數數組
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;
}
但是功能想知道是否有更好的方法,而不僅僅是用不同的數據類型重複相同的代碼,並且基本上具有整個類的相同代碼?或者我可以做些什麼,以便它可以用於所有數據類型?
若你想從包裝器中返回原始類型。如果你不介意返回一個'Byte []'或'Integer []',那麼你可以直接調用'list.toArray();' –
這只是我使用的一個例子,並非特定於該函數,但無論如何感謝。 – Nightfortress
是的,一般出於性能和Java-y的原因,你不想爲原始類型做這件事。最好將Java分成基於原始/數組的東西以及基於對象/泛型的東西。你可以使用Number.class來解決這個問題,但是有一些原因,如流和函數的原始版本。如果你來自C#,這是一個重大的差異。 – Novaterata