3

私はリストを持っていました。一覧はこんな感じ。

List<String> locations=new ArrayList<String>();
locations.add("California");
location.add("sydney");
location.add("Egypt");

ここで、このリストにカリフォルニアとシドニーが含まれているかどうかを mvel で確認したいと思います。以下のものを使用できると思っていましたが、エラーが発生しています。

     location contains "sydney","california"

リストにmvelの複数の要素が含まれているかどうかを確認するにはどうすればよいですか?

4

3 に答える 3

3

This will work:

list.containsAll(["sydney", "california"])
于 2013-01-20T10:40:31.023 に答える
0

kvnの答えを簡素化するために、テストする都市を式内に埋め込むことができます。一重引用符で囲むだけです。

public void testListContains() {
    List<String> locations = new ArrayList<String>();
    locations.add("California");
    locations.add("sydney");
    locations.add("Egypt");

    String expression = "thelocations contains 'sydney' && thelocations contains 'California'";

    Map container = new HashMap();
    container.put("thelocations", locations);

    Object result = MVEL.eval(expression,container);

    System.out.println(result);
}
于 2014-03-25T14:08:02.387 に答える