2013-08-27 117 views
1

我想在JAVA中创建同步的ArrayList。我用这个代码:同步的arrayList不兼容的类型

static ArrayList<User> listOfUsers = Collections.synchronizedList(new ArrayList<User>()); 

但NetBeans的喊道:

不兼容的类型:

要求:ArrayList的 发现:名单

任何帮助可能吗?

回答

4

Collections.synchronizedList()返回List,而不是ArrayList。声明用户列表这样:

static List<User> listOfUsers = Collections.synchronizedList(new ArrayList<User>()); 
+0

不是它说类型“列表”不带任何参数。 –

+0

@ user2721537当然可以。你是否导入了一些其他'List'而不是[java.util.List](http://docs.oracle.com/javase/6/docs/api/java/util/List.html)? – kiheru

+0

确实:我有java.awt.List Thx ;-) –

4
Collections.synchronizedList() 

返回List。使用类似:

static List<User> listOfUsers = Collections.synchronizedList(new ArrayList<User>()); 

的ArrayList列表但每列表的ArrayList

3
static List<User> listOfUsers = Collections.synchronizedList(new ArrayList<User>()); 

应该解决的问题。

0

Collections.synchronizedList返回一个新的SynchronizedList<User>实例,转换回List<User>。如果你的宣言去

static List<User> listOfUsers = Collections.synchronizedList(new ArrayList<User>());

,它会好起来的。

0

List<User> listOfUsers = Collections.synchronizedList(new ArrayList<User>());

为我工作