icangjian
2015-04-06 11:02
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文件名无效");
}
每个语言有每个语言的特点,像Javascript,Php这样的弱语言,是可以通过"=="来判断两个字符串是否相等的,但是在java中,String字符串是一个对象,是不能简简单单的用"=="来做比较的,除非两个字符串在内存空间是同一地址,且内容相同.如果你只是想比较内容,那么就使用equals方法吧.
但是我从"HelloWorld.java";截取的后缀能和比较时的字符串“java”的地址相同吗?
"==“:判断两个字符串在内存中首地址是否相同,即判断是否同一个字符串对象。
equals():比较存储在两个字符串中的内容是否相同。
原来如此 谢谢
Java入门第三季
409792 学习 · 4340 问题
相似问题