有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我如何才能使我的函数url包含高效?

我正在使用安卓 webview检查页面的URL。目前我的代码是这样的

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

我怎样才能使它更有效率。我试过使用OR操作符(| |),但它在Java的Android Studio中不受支持


共 (3) 个答案

  1. # 1 楼答案

    通过Mike M. Stephan Branczyk求解

    这很有魅力

    if (nurl.contains(".pdf") || nurl.contains(".PDF"))
    
  2. # 2 楼答案

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

    if (nurl.toUpperCase().contains(".PDF")) {
        //doing stuff
    }
    
  3. # 3 楼答案

    When I type ||, its giving me error. 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"结尾的URL吗

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