猿问

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

	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

car
浏览 1446回答 1
1回答

Caballarii

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

相关分类

Java
我要回答