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タイプであると仮定していますFileString

以下はコンパイルして動作します。

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 に答える