1

我试图将一个文件传递给另一个以 String 作为参数的方法,但是当我编译它时,我得到了矛盾的异常。

我调用的方法是:

public static String sortThis(String inputFileName) 
{
//code here
}

我调用该方法的代码是:

tempFile1 = Sort2.sortThis(tempFile2.getPath());

我得到了例外:

incompatible types
Found: java.lang.String
Required: java.io.File

所以如果我只是传递文件:

tempFile1 = Sort2.sortThis(tempFile2);

我得到:

sortThis(java.lang.String) in Sort2 cannot be applied to (java.io.File)

我是否使用错误的 File 方法来获取文件名/路径?我不确定 getAbsolutePath()、getCanonicalPath() 和 getPath() 之间有什么区别,所以这可能是它行为异常的原因?

4

1 回答 1

0

我假设你tempFile1是类型File而不是String

以下编译和工作。

import java.io.File;

public class Test
{
    public static void main( String args[] )
    {
        File file = new File( "" );
        String tempFile1 = Test.sortThis( file.getPath() );
        System.out.println( tempFile1 );
    }

    public static String sortThis( String inputFileName )
    {
        return inputFileName;
    }
}
于 2012-05-08T16:27:19.307 回答