我有一个char [],我想将每个索引的值设置为相同的char值.
有明显的方法(迭代):
char f = '+';
char [] c = new char [50];
for(int i = 0; i < c.length; i++){
c[i] = f;
}
Run Code Online (Sandbox Code Playgroud)
但是我想知道是否有一种方法可以利用System.arraycopy或者等效的东西可以绕过迭代的需要.有没有办法做到这一点?
编辑:
来自Arrays.java
public static void fill(char[] a, int fromIndex, int toIndex, char val) {
rangeCheck(a.length, fromIndex, toIndex);
for (int i = fromIndex; i < toIndex; i++)
a[i] = val;
}
Run Code Online (Sandbox Code Playgroud)
这是完全相同的过程,这表明可能没有更好的方法来做到这一点.
无论如何,对所有
建议的人都要+1 fill- 你们都是正确的,谢谢你们.
如何在不使用循环的情况下在Java中填充多维数组?我试过了:
double[][] arr = new double[20][4];
Arrays.fill(arr, 0);
Run Code Online (Sandbox Code Playgroud)
这导致了 java.lang.ArrayStoreException: java.lang.Double
提前致谢!