java类数组初始化
假如有类数组Point []pt=new Point[n];这只是初始化了数组指针变量,还没有对数组元素进行初始化,必须还得for(int i=0;i<n;i++) pt[i]=new Point();由于经常用c的memset直接搞定,嫌java太麻烦了,就去查java api,结果找到arrays.fill方法,就用fill(pt,new Point()),结果在后边用pt数组杯具了,原来这个函数相当于pt[0]=……=pt[n-1]=new Point();相当于浅拷贝,只要修改一个数组元素,整个数组元素都被改了,只得换成无聊的for循环…… 来源
相关文章
无相关信息