我有一个数组,我想查看最后一位数字,如果它在数组中。
示例:
String[] types = {".png",".jpg",".gif"}
String image = "beauty.jpg";
// Note that this is wrong. The parameter required is a string not an array.
Boolean true = image.endswith(types);
请注意: 我知道我可以使用for循环检查每个项目。
我想知道是否有更有效的方法来做到这一点。原因是图像字符串已经在不断变化的循环中。
答案 0 :(得分:13)
Arrays.asList(types).contains(image.substring(image.lastIndexOf('.') + 1))
答案 1 :(得分:5)
您可以对最后4个字符进行子串:
String ext = image.substring(image.length - 4, image.length);
然后使用HashMap
或其他搜索实施来查看它是否在您的已批准文件扩展名列表中。
if(fileExtensionMap.containsKey(ext)) {
答案 2 :(得分:0)
使用Arrays.asList转换为List。然后你可以检查会员资格。
String[] types = {".png",".jpg",".gif"};
String image = "beauty.jpg";
if (image.contains("."))
System.out.println(Arrays.asList(types).contains(
image.substring(image.lastIndexOf('.'), image.length())));