"Y".equals(answer)和answer!="Y"有什么区别?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 15:31:51

"Y".equals(answer)和answer!="Y"有什么区别?
"Y".equals(answer)和answer!="Y"有什么区别?

"Y".equals(answer)和answer!="Y"有什么区别?
不一样的...equals比较的是两个Object的值是否相等.== 和 != 当比较的并非int,long或float类型时,他们比较的是两个Object的内存地址是否相同的.所以answer肯定是不等于"Y"的

肯定不一样,尤其是从判断的意思上。 首先,equals是只比较两个数值是否相等,不包含内存空间和属于的对象。 而==和!=是比较两个值用的内存地址是否相同。 例如: String a = new String("c"); String b = new String(“c”); a和b如果只比较值的话,都是"c",是一样的,所以a.equals(b)返回的是true。而a==b,是判断的两个内存。...

全部展开

肯定不一样,尤其是从判断的意思上。 首先,equals是只比较两个数值是否相等,不包含内存空间和属于的对象。 而==和!=是比较两个值用的内存地址是否相同。 例如: String a = new String("c"); String b = new String(“c”); a和b如果只比较值的话,都是"c",是一样的,所以a.equals(b)返回的是true。而a==b,是判断的两个内存。由于两个值都是new的,没有在一个内存空间,所以a==b返回的是false。

收起