用myeclipse写java,其中有一段是。。。String answer="y"; while(answer.equals("y")){}。。。
其中answer是字符串,如果我把while(answer.equals("y")){}写成while(answer==“y”){}。。。。居然不报错!请问为什么?ans...
其中answer是字符串,如果我把
while(answer.equals("y")){}
写成
while(answer==“y”){}。。。。居然不报错!请问为什么?answer后面写==居然不报
while(answer==“y”){}
错?刚刚因为误写成
while(answer==“y”){}出现bug,好不容易找出原因来。。。。谢谢!
while(answer==“y”){}
打错了 应该是。。。。。。。。。
answer后面写==居然不报
错?刚刚因为误写成
while(answer==“y”){}出现bug,好不容易找出原因来。。。。谢谢! 展开
while(answer.equals("y")){}
写成
while(answer==“y”){}。。。。居然不报错!请问为什么?answer后面写==居然不报
while(answer==“y”){}
错?刚刚因为误写成
while(answer==“y”){}出现bug,好不容易找出原因来。。。。谢谢!
while(answer==“y”){}
打错了 应该是。。。。。。。。。
answer后面写==居然不报
错?刚刚因为误写成
while(answer==“y”){}出现bug,好不容易找出原因来。。。。谢谢! 展开
4个回答
展开全部
这种比较是跟"y"的内存地址比较,equals才是真正的字符比较
追问
请问内存地址
是什么。。。。。。。。。。。。我初学者
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个写法 本来就没错 “==”比较结果返回值只boolean类型,而while()的参数也是boolean类型,当然没错了,只是比较结果不是你想要的==比较的是存放answer和y两个地方的内存,所以肯定是false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.java中使用"=="做比较指的是比较两个对象的内存地址是否是一致,内存地址也就是存放次对象的空间,在你问的问题中就是看看answer和“y”两个字符串引用对象是否是指向的同一个内存地址空间,如果是,那么就是true,不是的话就是false。
2.使用equals()方法进行比较是比较字符串的内容是否一致,不是比较的内存中的引用。只要是两个字符串是相同的,一致的,那么就是true,否则就是false。
希望回答对你有帮助!
2.使用equals()方法进行比较是比较字符串的内容是否一致,不是比较的内存中的引用。只要是两个字符串是相同的,一致的,那么就是true,否则就是false。
希望回答对你有帮助!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询