如何允许参数为多种类型?

时间:2015-05-20 01:08:00

标签: java

我是Java新手。如果这是一个愚蠢的问题,我很抱歉。我想提交一个参数,该参数可以是文件或字符串,然后我可以用它来创建文件。这就是我到目前为止所做的:

public class DefaultOptions {

  public File setChooser(JFileChooser chooser, dir) {

  }

}


DefaultOptions dOptions = new DefaultOptions() {
  public File setChooser(chooser, dir) {
    if (!(dir instanceof java.io.File)) {
      String ds = dir.toString(); 
      File wd = new File(ds);
    } else {
      wd = (File) dir;
    }
    chooser.setCurrentDirectory(wd);
  }
}

我可以在此专栏中使用什么签名:

  public File setChooser(JFileChooser chooser, dir)         

如果无法做到这一点,我该如何简化?

1 个答案:

答案 0 :(得分:5)

使用Object

public File setChooser(JFileChooser chooser, Object dir) {
    // ...
}

但是,正如评论中指出的那样,方法重载可能肯定会更好:

public File setChooser(JFileChooser chooser, String dir) {
     // handle String case
}

public File setChooser(JFileChooser chooser, File dir) {
     // handle File case
}