2014-11-24 75 views
0

也许这是一个愚蠢的问题,但是:是否可以将两个数据类型(如Path和String)合并为一个新数据类型?将两个数据类型合并为一个新的数据类型(路径和字符串)

我的实际问题如下:我正在重构一些代码。现在我有一个重命名文件的方法。但我有四种方法,而不是只有一个,因为参数是不同的:

public void copyFile(Path filesource, Path filedest) { 
    try { 
     Files.copy(filesource, filedest, REPLACE_EXISTING, COPY_ATTRIBUTES); 
    } catch (FileSystemException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    }  
} 


public void copyFile(String filesource, Path filedest) { 
    this.copyFile(getPathObjekt(filesource), filedest); 
} 


public void copyFile(Path filesource, String filedest) { 
    this.copyFile(filesource, getPathObjekt(filedest)); 
} 


public void copyFile(String filesource, String filedest) { 
    this.copyFile(getPathObjekt(filesource), getPathObjekt(filedest)); 
} 

所以这将是很好做的,而不是用四种方法是这样的:

public void(copyFile(StringPath filesource, StringPath filedest){ 

} 
+0

我不确定,但Java不会autobox到新的实体 - StringPath的字符串/路径。也许你应该保持简单的界面,让用户接受它 – 2014-11-24 08:35:22

回答

0

何不你不用java.io.File班吗?

它已经具有可以将路径与文件名组合起来的构造函数。

public void copyFile(File filesource, File filedest) { 

} 
相关问题