关于Java中byte[]类型的问题

qazsew567 2012-03-20 11:49:33
本人新手编程中遇到的问题,希望大家指点一下,就下面我举了个例子,谁能解释一下怎么回事

byte[] result = new byte[0];
System.out.println(result);


result的长度是0为什么输出有内容“[B@210b5b”有时候输出的内容还有点小变化

是不是byte类型不能这样输出呢,那正确的输出方法是什么,我迷乱了
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luffy1010 2012-03-23
  • 打赏
  • 举报
回复
byte[] result = new byte[0];
System.out.println(result);

这样你直接打印数组result,
实际是调用了result。toString()
“[B@210b5b”"["代表数组 “B”是byte类型。
210b5b是哈希码。数组在内存的地制值。
九路车没站牌 2012-03-23
  • 打赏
  • 举报
回复
我又凌...
sunbuchen 2012-03-21
  • 打赏
  • 举报
回复
第二句话得是
System.out.println(result[0]);
为爱冰封的心 2012-03-20
  • 打赏
  • 举报
回复
简单的说,byte[] 这是个对象。所以你System.out.println(result); 输出的就是Object.toString()
这个跟它长度为0不为0,没关系。
creso 2012-03-20
  • 打赏
  • 举报
回复
实际上调用的是result.toString()
看看源码
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
返回的是对象名+@+哈希吗

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧