Java How to make a method that accepts two list types, not at the same time
我有这段代码
1 2 3 4 5 6 7 8 9 10 11 | public void write(LinkedList<Drug> list, String file) { try (FileOutputStream fs = new FileOutputStream(System.getProperty("user.dir") +"\ es\" + file +".dat"); ObjectOutputStream os = new ObjectOutputStream(fs)) { System.out.println("Writing File..."); os.writeObject(list); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } |
我想用同样的方法来写一个不同对象的文件,例如
1 2 3 4 | LinkedList<String> temp = new LinkedList<>(); temp.add("Something"); temp.add("Something else"); write(temp,"stringlist"); |
我不想做第二种方法
1 2 3 4 5 6 7 8 9 10 11 | public void writeSomething(LinkedList<String> list, String file) { try (FileOutputStream fs = new FileOutputStream(System.getProperty("user.dir") +"\ es\" + file +".dat"); ObjectOutputStream os = new ObjectOutputStream(fs)) { System.out.println("Writing File..."); os.writeObject(list); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } |
如果您的方法没有使用存储在列表中的对象类型,那么您可以按以下方式声明您的方法:
1 |
要按照所述逐字回答您的问题-允许方法只接受两个列表类型-有两个方法调用私有泛型方法:
1 2 3 4 5 6 7 8 9 10 11 |
请注意,您的两个公共方法需要以不同的名称命名,否则它们将具有相同的擦除功能。
当然,如果您不关心这两种类型,您可以简单地使