題目的答案錯的吧,文件名明明有效
如果判定時使用?
if ( index!=-1 && index!=0 && prefix==".java" ) {
System.out.println("Java文件名正確");
} else {
System.out.println("Java文件名無效");
}
這樣就不對,因?yàn)榍懊嬲f過兩個".java"在內(nèi)存中是兩個不同的單元只是內(nèi)容相同,所以會跳到else上,文件名無效
但真正正確的應(yīng)該用
if ( index!=-1 && index!=0 && prefix.equals(".java") ) {
System.out.println("Java文件名正確");
} else {
System.out.println("Java文件名無效");
}
這樣跑出來應(yīng)該文件名是對的,有效的
2019-03-07
題目給多了個“a”,所以跟答案相反。
2018-09-01
題目是故意的,就是為了讓我們分清楚比較棧內(nèi)存和堆內(nèi)存的區(qū)別
2018-08-19
1:==是比較棧內(nèi)存里面的值,對于基本數(shù)據(jù)類型,棧區(qū)的值就是數(shù)據(jù)的值
2:equals()是進(jìn)行堆區(qū)里面內(nèi)容的比較,對于引用數(shù)據(jù)類型,棧區(qū)的值是對象的地址
3:基本數(shù)據(jù)類型比較用==,引用數(shù)據(jù)類型比較用equals()方法
4:".java"是字符串String引用數(shù)據(jù)類型