5

配列内にある場合、最後の桁を確認したい配列があります。

例:

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 ループを使用して個々の項目を確認できることはわかっています。

これを行うより効率的な方法があるかどうか知りたいです。その理由は、画像文字列がすでに一定の変更でループしているためです。

4

3 に答える 3

13
Arrays.asList(types).contains(image.substring(image.lastIndexOf('.') + 1))
于 2012-06-19T18:05:41.043 に答える
5

最後の 4 文字を部分文字列にすることができます。

String ext = image.substring(image.length - 4, image.length);

次に、HashMapまたはその他の検索実装を使用して、承認されたファイル拡張子のリストにあるかどうかを確認します。

if(fileExtensionMap.containsKey(ext)) {

于 2012-06-19T18:05:19.467 に答える
0

Arrays.asList を使用してリストに変換します。次に、メンバーシップを確認できます。

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())));
于 2012-06-19T18:11:24.223 に答える