鍍金池/ 問答/Java  Android/ 這行代碼什么意思?

這行代碼什么意思?

map.put("extName", fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase());

回答
編輯回答
萌二代

lastIndexOf 是獲取最后一個(gè)字符的索引,與之相對應(yīng)的是 indexOf 是獲取第一個(gè)

2017年11月2日 08:11
編輯回答
悶油瓶

獲取一個(gè)文件名的擴(kuò)展名,轉(zhuǎn)成小字母,然后保存到一個(gè)map中。

lastIndexOf();//函數(shù)是從末尾獲取字符的索引,返回查到的第一個(gè)字符的索引。
"example".lastIndexOf("e");//6,為何不返回0,因?yàn)檫@個(gè)函數(shù)從末尾開始查找,找到一個(gè)就返回。
"helloWorld".lastIndexOf("l");//8
subsubring();//獲取子串
"example".substring(2);//ample
toLowerCase();//將字符轉(zhuǎn)為小寫
"HELLO".toLowerCase();//hello
fileName.substring(fileName.lastIndexOf(".")+1);//返回一個(gè)文件名字的大寫擴(kuò)展名,加1是因?yàn)閿U(kuò)展名在.的后面。
"example.txt".substring("example.TXT".lastIndexOf(".")+1).toLowerCase;//txt
map.put("keyName","keyValue");//這是設(shè)置map的key值
map.put("exName","example.TXT".substring("example.txt".lastIndexOf(".")+1).toLowerCase);
map.put("exName","txt");//等價(jià)于上面的。
map.get("exName");//txt, 用 get(keyName)來獲取Key的值.

這么詳細(xì),希望采納。我也是Java初學(xué)者,多多交流。

2018年5月19日 11:31