Java中,用==可以判断2个字符串的地址是否相等,那如果是int行的数据 是判断的值相等还是地址???
Java中,用==可以判断2个字符串的地址是否相等,那如果是int行的数据是判断的值相等还是地址???...
Java中,用==可以判断2个字符串的地址是否相等,那如果是int行的数据 是判断的值相等还是地址???
展开
展开全部
严格来说,==始终是比较内容的。
在很多教材上,都说==比较的是内存地址,其实这容易误导。
如:String st1=new String("java");
String st2=new String("java");
在Java中,对象的名称,实际上是一个引用。引用即内存地址。所以对象名里保存的是地址。上面两句代码,可以理解为,String st1=new String("java")这里st1保存的是new的那块内存地址,而st2就是另一块内存地址了,所以用st1==st2得到的为假。
而==呢,是你两边存的是什么,它就比较什么,所以严格来说==比较的仍然是内容。
当然对于int这些基本数据,当然还是比较内容。
虽然Java没有指针,但我们却能感受到指针的影子。
在很多教材上,都说==比较的是内存地址,其实这容易误导。
如:String st1=new String("java");
String st2=new String("java");
在Java中,对象的名称,实际上是一个引用。引用即内存地址。所以对象名里保存的是地址。上面两句代码,可以理解为,String st1=new String("java")这里st1保存的是new的那块内存地址,而st2就是另一块内存地址了,所以用st1==st2得到的为假。
而==呢,是你两边存的是什么,它就比较什么,所以严格来说==比较的仍然是内容。
当然对于int这些基本数据,当然还是比较内容。
虽然Java没有指针,但我们却能感受到指针的影子。
展开全部
byte short char int float double 这是原生数据类型, 存储直接是值, 不存地址, 所以==比较的是两个值,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int 数据 a==b判断相等 String 是 a.equals(b);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-16
展开全部
整数是值 。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询