2014-02-17 47 views

回答

19

您可以使用:

var newList = new List.from(list1)..addAll(list2); 
+0

啊,謝謝,完美的作品。 – Alex

+14

另一種方法(允許輕鬆連接多個列表):'[list1,list2,list3,...]。expand((x)=> x).toList()'; –

5

Alexandres的回答是最好的,但如果你想使用+就像在你的例子中,你可以使用飛鏢運算符重載:

class MyList<T>{ 
    List<T> _internal = new List<T>(); 
    operator +(other) => new List<T>.from(_internal)..addAll(other); 
    noSuchMethod(inv){ 
    //pass all calls to _internal 
    } 
} 

然後:

var newMyList = myList1 + myList2; 

有效:)

4

也許更一致〜

var list = []..addAll(list1)..addAll(list2); 
相關問題