有没有一种方法可以用一个“匹配”功能检查多个条件?
问题描述:
考虑下面的语句:有没有一种方法可以用一个“匹配”功能检查多个条件?
if(UserAgent.matches("iPhone"))
我必须检测用户是否是来自移动或PC联机。要做到这一点,我需要检查大量的移动设备,浏览器。而不是编写相同的部分:
if(UserAgent.matches())
有没有什么方法可以检查这个使用上matches
功能?我的意思是说使用|
这是OR。像:
UserAgent.matches(SOME MODIFICATION "iPhone" | "Android" | "Blackberry".....)
答
其实,String.matches()是匹配的正则表达式,所以你可能会喜欢写东西
if (UserAgent.matches("iPhone|Android|Blackberry"))
答
将所有字符串放入Set中,然后检查UserAgent字符串是否包含在该set中。
if set.contains(UserAgent.toString())
// do something
end
最好的地段。 – verisimilitude 2012-07-28 16:08:09