私はjavaファイルを書くツールを開発中です。ある時点では配列宣言を書く必要があります。 、しかし、私は配列のすべての種類のための単一および一般的な方法をしたいと思い、事は、私はジェネリックでタイプを処理する方法がわからないということである。すなわち配列宣言文字列を書く
public static String arrayToCode(Long[] arr, String arrName) {
StringBuilder sb = new StringBuilder();
sb.append("Long[]" + arrName + " = { ");
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i] + "L, ");
}
sb.append("};");
return sb.toString();
}
public static String arrayToCode(String[] arr, String arrName) {
StringBuilder sb = new StringBuilder();
sb.append("String[]" + arrName + " = { ");
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i] + "L, ");
}
sb.append("};");
return sb.toString();
}
public static String arrayToCode(Double[] arr, String arrName) {
StringBuilder sb = new StringBuilder();
sb.append("Double[]" + arrName + " = { ");
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i] + "L, ");
}
sb.append("};");
return sb.toString();
}
:私は、次のメソッドを実装していますLong
、String
、またはDouble
の配列はどのようにわかりますか?
はなぜ引数(文字列など)実際の配列インスタンスの代わりの種類の名前だけの一つですか?ああ、BTW、配列とJavaのジェネリックスはまったく混ざり合っていません。 –
これはどういう意味ですか? '+" L "、'(sb.append(arr [i] + "L");}ループ内) –
これは整数をLongに変換するものです。しかし、他のタイプの問題です。それをキャッチするためにありがとう。 –