我可能只是忽略了一些显而易见的事情,但我不能为我的生活弄清楚为什么这部分代码不起作用。
if(txtFileLocation.toString().toLowerCase().endsWith(".twn")){
file = new File(txtFileLocation.getText());
} else {
file = new File(txtFileLocation.getText() + ".twn");
System.out.println(txtFileLocation.getText() + " didn't end in .twn, so appending it");
}
System.out.println(file.getPath());
输出如下:
C:\temp\netprimaries1.twn didn't end in .twn, so appending it
C:\temp\netprimaries1.twn.twn
为什么没有endsWith(“。twn”)返回true?
答案 0 :(得分:4)
txtFileLocation.toString()
不是txtFileLocation.getText()
。
答案 1 :(得分:2)
可能是因为您在toString
声明中呼叫getText
而非if
。
答案 2 :(得分:0)
txtFileLocation.toString()
可能会返回JVM中的对象地址,类似于TextField@0x232431
。您应该使用txtFileLocation.getText()
来获取TextField
控件