问答详情
源自:2-3 Java 中 String 类的常用方法 Ⅰ

用==不行吗 用equal?? (prefix=="java")

String fileName = "HelloWorld.java"; 

int index = fileName.indexOf('.');

String prefix =fileName.substring(11,15);

//  还有这里我原来是(index+1),fileName.length()  (index!=0||index>0 )这样的  为什么是11~15  不是11~14吗  15指的是什么 



//用==不行吗  用equal??   (prefix=="java")

if ((index != 0)&&(prefix=="java")){

System.out.println("Java文件名正确");

} else {

System.out.println("Java文件名无效");

}


提问者:icangjian 2015-04-06 11:02

个回答

  • qzblog
    2015-04-06 11:06:00
    已采纳

    每个语言有每个语言的特点,像Javascript,Php这样的弱语言,是可以通过"=="来判断两个字符串是否相等的,但是在java中,String字符串是一个对象,是不能简简单单的用"=="来做比较的,除非两个字符串在内存空间是同一地址,且内容相同.如果你只是想比较内容,那么就使用equals方法吧.

  • smedlut
    2015-10-27 11:21:30

    但是我从"HelloWorld.java";截取的后缀能和比较时的字符串“java”的地址相同吗?

  • 忠骨丹心
    2015-08-05 11:57:00

    "==“:判断两个字符串在内存中首地址是否相同,即判断是否同一个字符串对象。

    equals():比较存储在两个字符串中的内容是否相同。

  • 社稷
    2015-05-18 19:58:59

    原来如此 谢谢