c********t 发帖数: 5706 | 1 都说local variable必须赋值,包括primitive
为啥我看到很多(大多数)程序,int[] 都不赋值就可以用和返回?比如下面统计字符
出现次数程序,对于int[] counts = new int[256];难道不用整个赋值0,再用和返回
吗?
int[] charCounts(String s) {
int[] counts = new int[256]; // maximum value of an ASCII character
char[] c = s.toCharArray();
for (int i=0;i
counts[c[i]]++;
}
return counts;
} |
p*****2 发帖数: 21240 | |
c********t 发帖数: 5706 | 3 谢谢!那除了array,请问还有哪些类型是heap上的?
【在 p*****2 的大作中提到】 : heap上的不用。
|
p*****2 发帖数: 21240 | 4
new的都是
【在 c********t 的大作中提到】 : 谢谢!那除了array,请问还有哪些类型是heap上的?
|
c********t 发帖数: 5706 | 5 谢二爷!
【在 p*****2 的大作中提到】 : : new的都是
|
y*****n 发帖数: 243 | |
g*****e 发帖数: 282 | 7 java和c#都给你设0,false和null了,相应的
【在 c********t 的大作中提到】 : 都说local variable必须赋值,包括primitive : 为啥我看到很多(大多数)程序,int[] 都不赋值就可以用和返回?比如下面统计字符 : 出现次数程序,对于int[] counts = new int[256];难道不用整个赋值0,再用和返回 : 吗? : int[] charCounts(String s) { : int[] counts = new int[256]; // maximum value of an ASCII character : char[] c = s.toCharArray(); : for (int i=0;i: counts[c[i]]++; : }
|
M*******a 发帖数: 77 | 8 java的基本类型是初始的默认值是0,包括double,float等
封装后的类型如Integer的初始值是null,需要自己赋值。 |
x*****p 发帖数: 1707 | 9 int[] counts = new int[256];
This line already initialize the local variable counts.
【在 c********t 的大作中提到】 : 都说local variable必须赋值,包括primitive : 为啥我看到很多(大多数)程序,int[] 都不赋值就可以用和返回?比如下面统计字符 : 出现次数程序,对于int[] counts = new int[256];难道不用整个赋值0,再用和返回 : 吗? : int[] charCounts(String s) { : int[] counts = new int[256]; // maximum value of an ASCII character : char[] c = s.toCharArray(); : for (int i=0;i: counts[c[i]]++; : }
|