JAVA的比较之==

来源:互联网 发布:java 模块化开发 编辑:程序博客网 时间:2024/06/08 11:03

在很多的变成语言中都会看到‘==’这个比较符。一开始认为这个比较符是可以比较任何的东西,比较的都是它们的内容,任何两个东西之间都可以使用这个运算符。但是在学习Java的时候,我蒙了。
Scanner s=new Scanner(System.in);
while(s.hasNext()){
String line=s.nextLine();
if (line=="exit")) {
break;
}
System.out.println(line);
}

这个程序一直运行了下去。之后测试程序:

String s1="hello";System.out.println(s1=="hello");

程序返回了false。于是上网寻觅答案,结果网友的博客中详细的介绍了‘==’。说道,这个符号对于基本数据类型来说确实是比较他们的值,但是对于复合数据类型来说比较的就是它们的内存地址了。一句惊人,这就说明了为什么上述会输出了false,因为他们的内存地址是不一样的。
要比较字符串时大小时可以使用compareTo(),比较相等时可以使用equals()这个函数.

0 0
原创粉丝点击