Как получить список list.list для копирования списка в smooks - PullRequest
5 голосов
/ 02 августа 2011

Я новичок в смузи.Я столкнулся с проблемой.Это преобразование Java-Java.У меня есть список, и внутри него у меня есть внутренний список с 2 объектами.Как мне получить список list.list для копирования списка в smooks?

1 Ответ

0 голосов
/ 09 ноября 2011

Из того, что я могу сказать, smooks не имеет метода, обеспечивающего это. Однако этого можно достичь, перебирая списки и извлекая содержимое в новый список.

Вы можете определить функцию для этого, например:

    public List<Object> extractEmbeddedList(List<List<Object>> embeddedList)
    {
        List<Object> extractedList = new ArrayList<Object>();

        for (List<Object> l : embeddedList) {
            for (Object o : l) {
                extractedList.add(o);
            }
        }
        return extractedList;
    }

Вот пример его использования:

    List<List<Object>> embeddedList = new ArrayList<List<Object>>();
    List<Object> someEmbeddedObjects = new ArrayList<Object>();
    List<Object> moreEmbeddedObjects = new ArrayList<Object>();
    List<Object> normalList = new ArrayList<Object>();

    someEmbeddedObjects.add("I'm a String!");
    someEmbeddedObjects.add("I'm another String!");

    moreEmbeddedObjects.add(5);
    moreEmbeddedObjects.add(6);

    embeddedList.add(someEmbeddedObjects);
    embeddedList.add(moreEmbeddedObjects);

    normalList = extractEmbeddedList(embeddedList);

    System.out.println(normalList.toString());
    //Output is: [I'm a String!, I'm another String!, 5, 6]
...