为了账号安全,请及时绑定邮箱和手机立即绑定

用==不行吗 用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文件名无效");

}


正在回答

4 回答

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

3 回复 有任何疑惑可以回复我~
#1

icangjian 提问者

嗯 谢谢
2015-04-06 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~
#1

smedlut

但是我从"HelloWorld.java";截取的后缀能和比较时的==后面的字符串“java”的地址相同吗?
2015-10-27 回复 有任何疑惑可以回复我~

原来如此 谢谢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信