【发布时间】:2013-02-13 06:08:38
【问题描述】:
我正在从事一个项目,在该项目中,我在初始化具有特定大小的一种方法时遇到了 TypeSafety 问题。在我的运行方法中,new ArrayList[tableLists.size()] 上有黄线并抱怨-
Type safety: The expression of type ArrayList[] needs unchecked conversion to conform to ArrayList<Method>[]
下面是代码。
private ArrayList<Method> methods[] = null;
@Override
public void run() {
methods = new ArrayList[tableLists.size()];
}
如何在此处解决此TypeSafety 问题?
更新:-
int j = 0;
dbConnection = new Connection[tableLists.size()];
callableStatement = new CallableStatement[tableLists.size()];
methods = new ArrayList[tableLists.size()];
//loop around the map values and make the connection list
for (Map<String, String> map : tableLists.values()) {
dbConnection[j] = getDBConnection(map.get("URL"), map.get("USER"), map.get("PASSWORD"), map.get("DRIVER"));
callableStatement[j] = dbConnection[j].prepareCall(map.get("SQL"));
methods[j] = getRequiredMethods(map.get("SUFFIX"));
j++;
}
【问题讨论】:
-
您在这里创建了一个
ArrayList对象数组。你确定这真的是你想要的吗? -
@Jake,是的,我需要那个。使用更新的代码查看我的更新问题。这有什么问题吗?还是有更好的方法?
-
对Java不熟悉,不需要在ArrayList中指定类型吗? methods = new ArrayList
[tableLists.size()];
标签: java multithreading casting