public class Stringg {
public static void main(String[] args) {
String str="abc";
System.out.println(str.getBytes());
System.out.println(str.getBytes());
}
}
getBytes( )得到的是什么值,代表什么意思,有什么作用?
为什么这两个输出不同呢,明明是一样的对象产生的值啊?
请教高手,谢谢! 收起
public static void main(String[] args) {
String str="abc";
System.out.println(str.getBytes());
System.out.println(str.getBytes());
}
}
getBytes( )得到的是什么值,代表什么意思,有什么作用?
为什么这两个输出不同呢,明明是一样的对象产生的值啊?
请教高手,谢谢! 收起
推荐于2016-06-10 17:47:49
最佳答案
str.getBytes() 返回一个字节数组
调用一次返回的都是一个新的数组对像, 你打印的是对象引用的哈希码(不是对像里面的内容),肯定是不一样的(因为每次返回都是一个新的变量).他们的内容是一样的.
Ani521smile
|
2016-6-17 15:13
回复 Ani521smile:我知道了 println()括号里必须是String类型的 这两个对象分别调用了父类的toString 返回了该对象的哈希码
Ani521smile
|
2016-6-17 15:10
为什么打印出来的是Hashcode
1lilei12
|
2013-10-23 15:21
高手啊
小智若愚_丁
|
2013-4-18 14:21
回答的好专业,厉害!
卡卡尽快发
|
2013-3-29 12:56
答得太好了,怒赞^ω^