如何使我的功能url包含有效?

时间:2016-12-04 19:38:48

标签: java android android-webview

我使用android webview检查网页的网址。目前我的代码是这样的

if (nurl.contains(".pdf"))
{
//doing stuff
}
else if(nurl.contains(".PDF"))
{
//doing stuff
}

如何才能提高效率。我尝试使用OR运算符(||),但在Android Studio,Java中不支持。

2 个答案:

答案 0 :(得分:1)

您可以将文件名转换为大写字母,并只进行一次contains调用。

if (nurl.toUpperCase().contains(".PDF")) {
    //doing stuff
}

答案 1 :(得分:0)

  

当我输入||时,它会给我错误。 Operator || can not be applied to 'java.lang.String', 'java.lang.String'

我猜你写的是这个:

  if (nurl.contains(".pdf" || ".PDF")) {
      //doing stuff
  }

这在Java中不起作用。编译器是正确的。你不能把两个字符串“或”在一起;请参阅此Oracle tutorial条件运算符部分)了解||运算符的作用以及它的操作数必须是什么。

这就是编译器消息所说的:“你不能”将两个字符串组合在一起。

但这是真正的问题......你不应该字符串“或”。你应该实际上“或” - contains来电的结果。

Java不像英语那样工作。在英语中“A包含B或C”表示“A包含B还是A包含C”。在Java(以及所有其他语言的AFAIK)中,你需要自己进行重新安排...在这样的话语中。

  if (nurl.contains(".pdf") || nurl.contains(".PDF")) {
      //doing stuff
  }

话虽如此,您的测试仍然值得怀疑。您是否应该测试 ".pdf"".PDF"结尾的网址?

  if (nurl.endsWith(".pdf") || nurl.endsWith(".PDF")) {
      //doing stuff
  }