有没有一种方法可以用一个“匹配”功能检查多个条件?

有没有一种方法可以用一个“匹配”功能检查多个条件?

问题描述:

考虑下面的语句:有没有一种方法可以用一个“匹配”功能检查多个条件?

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")) 
+0

最好的地段。 – verisimilitude 2012-07-28 16:08:09

将所有字符串放入Set中,然后检查UserAgent字符串是否包含在该set中。

if set.contains(UserAgent.toString()) 
    // do something 
end