【发布时间】:2016-09-06 08:43:12
【问题描述】:
我,我想用同样的方法给String的ArrayList或者其他对象的ArrayList添加元素。所以ArrayList 是一种类型,但我可以将不同的arrayList 传递给这个方法
问题是 add 方法,如何使用此方法添加 String 或 FleetInfo(我的对象)?
如果我使用 ArrayList treeFolders 我在此方法中没有错误,但我无法通过 ArrayList
private <T> void addStatisticalFiles (String fleetName, ArrayList<T> treeFolders, boolean isFleetInfo){
String fleetPath = env.getRequiredProperty(PROPERTY_NAME_FILESYSTEM_BASEPATH) + fleetName + File.separator + "statistics";
File statisticalFolder = new File(fleetPath);
if (statisticalFolder != null && statisticalFolder.exists()){
if (!isFleetInfo){
treeFolders.add(fleetPath);
for(String statisticalFile : statisticalFolder.list()){
treeFolders.add(fleetPath + File.separator + statisticalFile);
}
}else{
treeFolders.add(new FleetInfo("dir:" + fleetPath, null, null, null));
for(String statisticalFile : statisticalFolder.list()){
treeFolders.add(new FleetInfo("file:" + fleetPath + File.separator + statisticalFile, null, FleetType.file, null));
}
}
}
}
【问题讨论】:
-
如果您将任何旧类型的 Object 添加到您的
ArrayList,请不要使用泛型,只需执行ArrayList treeFolders -
ArrayList 的一个实例只有一种类型,但我想将不同的 ArrayList 传递给我的 addStatisticalFiles 方法
-
(答案已删除,我以为是C#问题。抱歉,请删除此评论)
标签: java generics arraylist parameters