我正在研究一种编写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();
}
Run Code Online (Sandbox Code Playgroud)
不过,我想提出的各种阵列的单一和通用的方法,事情是,我不知道如何与泛型处理类型,即我怎么会知道这是一个Long,String还是Double阵列?
public static String arrayToCode(Object[] arr, String arrName) {
StringBuilder sb = new StringBuilder();
sb.append(arr.getClass().getComponentType() + "[]" + arrName + " = { ");
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i] + "L, ");
}
sb.append("};");
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |