在Java上使用String.endswith()方法

时间:2012-06-19 18:03:17

标签: java

我有一个数组,我想查看最后一位数字,如果它在数组中。

示例:

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循环检查每个项目。

我想知道是否有更有效的方法来做到这一点。原因是图像字符串已经在不断变化的循环中。

3 个答案:

答案 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())));