为了账号安全,请及时绑定邮箱和手机立即绑定

该段代码传递什么值,返回值就可以为true

该段代码传递什么值,返回值就可以为true

car 2017-07-12 11:33:48
public static boolean isMobileDevice(String requestHeader) { /**  * android : 所有android设备 mac os : iphone ipad windows phone:Nokia等windows系统的手机  */ // String[] deviceArray = new // String[]{"android","mac os","windows phone"}; String[] deviceArray = new String[] { "android", "iphone", "ipod", "ipad", "windows phone", "mqqbrowser" }; if (requestHeader == null) return false; requestHeader = requestHeader.toLowerCase(); for (int i = 0; i < deviceArray.length; i++) { if (requestHeader.indexOf(deviceArray[i]) > 0) { return true; } } return false; }不太明白indexOf什么时候大于0
查看完整描述

1 回答

?
Caballarii

TA贡献1123条经验 获得超629个赞

requestHeader.indexOf(deviceArray[i])说的是在requestHeader里查找deviceArray[i],如果存在就返回requestHeader中第几个字母开始是deviceArray[i],不存在就返回-1,所以大于0就是存在这个字符串。所以只要requestHeader中有那个数组中的任意一个,这个方法就返回true

查看完整回答
反对 回复 2017-07-12
  • car
    car
    不是吧,我用这个android返回的还是0
  • Caballarii
    Caballarii
    因为在字符串android里查找字符串android,所在的位置就是0,所以你这个程序不严谨,应该是大于等于0,或者是不等于-1
  • car
    car
    如果一定要大于0,是什么值,还是没有办法大于0,调试不出
点击展开后面2
  • 1 回答
  • 0 关注
  • 1444 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信