我相信有很多类似的问题,对不起,如果这太常见了。我想知道哪一个更好/更快/节省空间等等,以及为什么。
public static void(String[] main){
//case 1
String[] str_arr = new String[n];
method1(str_arr)
//case 2
String[] str_arr = new String[n];
String[] arr = new String[n];
for(int i=0; i < n; i++){
arr[i] = str_arr[i].split("some_char")[2];
}
method2(arr);
}
void method1(String[] str_arr){
String[] arr = new String[n];
for(int i=0; i < n; i++){
arr[i] = str_arr[i].split("aChar")[2];//assume there are 50 of aChar
}
// do_something with arr ;
}
void method2(String[] arr){
// do_something with arr ;
}
我更喜欢哪一个?
提前致谢。
答案 0 :(得分:1)
这完全取决于您的判断。
说到性能原因:
干净整洁的代码:
TL; DR转到第一个选项,最后进行一些修改。
此外,在将元素实际放入数组之前拆分元素可能是个好主意。