Java startsWith不';好像不行
我需要一些帮助来解决这个问题- Java的startsWith()方法似乎不起作用 有人知道为什么会这样吗 方法:Java startsWith不';好像不行,java,startswith,Java,Startswith,我需要一些帮助来解决这个问题- Java的startsWith()方法似乎不起作用 有人知道为什么会这样吗 方法: public boolean check(File f) { boolean ans = (f.getName().startsWith(this.pre)); System.out.println(f.getName()+" "+this.pre); System.out.println(ans); } 我得到的结果是: file5.b
public boolean check(File f) {
boolean ans = (f.getName().startsWith(this.pre));
System.out.println(f.getName()+" "+this.pre);
System.out.println(ans);
}
我得到的结果是:
file5.b file
false
Same_a.txt file
false
same_name_a.txt file
false
same_name_c.txt file
false
看起来它总是返回false
编辑:
你是对的,我误解了一些事情。。。感谢并为这次失礼感到抱歉。试试这个:
public boolean check(File f) {
return f.getName().replaceAll("\\s+","").startsWith(this.pre.replaceAll("\\s+",""));
}
这将删除f.getName()
和This.pre
中的所有空格,然后比较它们(不带空格)
也可能存在区分大小写的问题,因此您需要使用小写字母来表示所有字符
Java的startsWith()方法似乎不起作用
我必须告诉你,startWith()
方法确实有效。它被(我猜)数百万Java程序员/程序使用。这种方法中出现真正错误的可能性非常小。您应该假设问题在您的代码中。。。除非你有确凿的证据证明不是
如果像这样的库方法似乎不起作用,那可能是因为您没有正确使用它,或者因为它实际上>>是
pre
的值,请尝试在字符串输出周围添加单引号。我打赌这些值周围有额外的空格。当我去编辑问题文本时,我注意到在您的输出行中,当您打印this.pre
时,“file”一词后面总是有空格。您确定它的值是“file”
,而不是“file”
?另外,要养成习惯,以99.99%以上的时间,错误将出现在您的代码中,而不是Java标准库中的心态来处理这些问题。在标准库中将问题表述为一个bug几乎肯定会被否决。缺少诊断问题的最少信息。完成。仍然没有帮助:\n那么你在其他地方出错了。我几秒钟前刚试过。请显示更多的上下文,也许您的文件名中有一些不可见的字符。