我正在使用Android WebView检查页面的URL。目前我的代码就像这样
if (nurl.contains(".pdf"))
{
//doing stuff
}
else if(nurl.contains(".PDF"))
{
//doing stuff
}
我如何使其高效。我尝试使用或使用运算符(||),但它在Android Studio,Java中不支持。
您可以将文件名转换为上案例,然后只做一个contains
调用。
if (nurl.toUpperCase().contains(".PDF")) {
//doing stuff
}
解决方案Bymike M.和Stephan Branczyk
这就像魅力一样工作!
if (nurl.contains(".pdf") || nurl.contains(".PDF"))
当我键入||时,它会给我错误。
Operator || can not be applied to 'java.lang.String', 'java.lang.String'
我想你写了这篇文章:
if (nurl.contains(".pdf" || ".PDF")) {
//doing stuff
}
在Java中不起作用。编译器是正确的。你不能"或"两个字符串;请参阅此Oracle教程( ||
操作员的作用及其操作数必须是什么。
这就是编译器消息所说的:"您不能或"两个字符串"。
但这是真正的问题...您不应该是"或"字符串。您实际上应该是"或" contains
调用的结果。
Java无法像英语那样工作。在英语中," b或c"是指" a contaim a contair b或a contaim contair c"。在Java(和Afaik所有其他语言)中,您需要自己进行重排...以这样的话语。
if (nurl.contains(".pdf") || nurl.contains(".PDF")) {
//doing stuff
}
话虽如此,您的测试仍然值得怀疑。您是否应该测试以结尾的URL ".pdf"
或 ".PDF"
?
if (nurl.endsWith(".pdf") || nurl.endsWith(".PDF")) {
//doing stuff
}