5

我是smooks的初学者。我面临一个问题。这是java-java转换。我有一个列表,其中我有一个包含 2 个对象的内部列表。如何实现 list.list 以在 smooks 中列出副本?

4

1 回答 1

0

据我所知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]
于 2011-11-09T05:09:55.887 回答