Java中的类[B代表什么?

74

我在这里尝试使用 jhat 工具测试我的 Java 内存使用情况。它会读取一个堆内存转储文件,并以 HTML 格式打印出信息。但是,表格显示如下:

Class Instance Count Total Size 
class [B  36585  49323821  
class [Lcom.sun.mail.imap.IMAPMessage;  790  16254336  
class [C  124512  12832896  
class [I  23080  11923504  
class [Ljava.lang.Object;  13614  6664528  
class java.lang.String  108982  2179640  
class java.lang.Integer  219502  878008  

那些 [B [C 等类是什么?


https://dev59.com/n3NA5IYBdhLWcg3wPLP- - erickson
2个回答

144

这些是原始类型的数组([B == byte[][C == char[I == int)。[Lx; 是类类型 x 的数组。

完整列表请参考:

[Z = boolean
[B = byte
[S = short
[I = int
[J = long
[F = float
[D = double
[C = char
[L = any non-primitives(Object)

同时查看Class.getName的Javadoc文档。


J代表什么?S代表什么? - Chinaxing
查看 https://dev59.com/um445IYBdhLWcg3wAFm0#12505922 获取完整列表,或者访问 http://docs.oracle.com/javase/tutorial/reflect/special/arrayComponents.html 自行确定类型。 - Aaron Digulla

2

看起来是一个字符数组(C)/字节(B)/整数(I)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接