java如何判断变量的内容是否相等?
初学java,正在做一个学生管理系统,做到查找功能的时候需要根据输入的信息查找。我用的是ArrayList保存学生信息,当我用id(long类型)进行查找时,if语句可以找到集合中与输入相同的内容,而我改用name(String)类型时,却找不到与输入相同的内容。我搜索了一下,似乎“==”只能判断两者之间的地址是否相同,那么long类型为什么可以呢?
这个是java很基础的常识
在判断两个字串的值时,不能用==,要用equals
如
对于String s1,s2;
s1 = new String("abc");
s2 = new String("abc");
那么:
s1==s2 是 false //两个变量的内存地址不一样,也就是说它们指向的对象不 一样,
故不相等。
s1.equals(s2) 是 true //两个变量的所包含的内容是abc,故相等
“==”只能判断两者之间的地址是否相同
热门标签: