我正在尝试做这样的事情:
public class Arquivo { private File diretorio = null ; public Arquivo(File dir){ this.diretorio = dir; } public Arquivo(String dir){ this( new File(dir) ); } public Arquivo(String fileName){ this( new File("./src/Data/"+fileName) ); } }
答案 0 :(得分:10)
答案 1 :(得分:3)
您不能创建两个接收单个String
参数的构造函数,只能存在一个这样的构造函数。 必须是签名之间的区别,例如,向其中一个构造函数添加第二个参数。
或者,您可以创建一个构造函数,并在第二个参数中指明它是文件还是目录:
// isFile == true means it's a file. isFile == false means it's a directory
public Arquivo(String fileName, boolean isFile) {
this(new File((isFile ? "./src/Data" : "") + fileName));
}
答案 2 :(得分:-1)
构造函数不能这样做
懒惰的解决方案是
public Arquivo(String s) {}
public Arquivo(String s, boolean b) {}
并且不要使用布尔值