2012-05-08 6 views
1

文字列を引数に取る別のメソッドにファイルを渡そうとしていますが、コンパイルするときに矛盾する例外が発生します。ファイルを別のメソッドに渡すときの矛盾する例外

私が呼んでいる方法は次のとおりです。

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) 

私は、ファイル名/パスを取得するには、ファイルの間違った方法を使用していますか?私は違いがgetAbsolutePath()、getCanonicalPath()、getPath()の間にあるのかどうか分からないので、それは奇妙なことです。

+0

'sortThis'のコードをもっと投稿できますか? –

+0

sortThisは、tempFile1がFileのStringを返します。ファイルに文字列を割り当てることはできません。 –

+0

ああ、そうです、それは文字列を返します、それは問題でした。あなたがHunterを投稿する直前にJonathonの投稿からそれを出しました。ありがとう! –

答えて

0

私はあなたのtempFile1ではなくString

以下のコンパイルと作品のタイプFileであると仮定しています。

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; 
    } 
} 
+0

ありがとう、それからそれを得た - それはsortThisは文字列を返します。 –