我使用android webview检查网页的网址。目前我的代码是这样的
if (nurl.contains(".pdf"))
{
//doing stuff
}
else if(nurl.contains(".PDF"))
{
//doing stuff
}
如何才能提高效率。我尝试使用OR运算符(||),但在Android Studio,Java中不支持。
答案 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
}