這是我用Java的String.indexOf()
和String.contains()
方法發現的奇怪行爲。如果我有一個非空字符串說blablabla
,我試圖尋找一個空字符串,它總是返回true
,而我期望它返回false
。爲什麼contains()方法在Java中的非空字符串中找到空字符串
所以基本上,爲什麼下面的代碼返回true和0?
String testThis = "";
String fileName = "blablablabla";
System.out.println(fileName.contains(testThis));
System.out.println(fileName.indexOf(testThis));
邏輯上(至少對我來說)""
不會發生blablablabla
但indexOf("")
說是的話,爲什麼呢?
你會如何證明在fileName的開頭沒有空字符串?您將不得不找到出現在空字符串中但不出現在fileName中的字符。 –