如何使我的功能URL具有有效的效率



我正在使用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
  }

最新更新