5

スモック初心者です。問題に直面しています。これが Java-Java 変換です。リストがあり、その中に 2 つのオブジェクトを持つ内部リストがあります。smooks で list.list からリスト コピーを取得するにはどうすればよいですか?

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 に答える