0

このコードは私が書いたものではありません。すべてのクレジットは、リンクをホストしている人物に帰属します。ここにコードへのリンクがあり、それを書いた人も github にリストされています... Link -Github SourceCode-

メソッドのプレビューは次のとおりです: (以下のクラスを参照)

//helper method
public static List readFile(String filePath) throws IOException {
    return new TextFileReader(filePath).readFile();
}

ちょっと待ってください。私は今それを手に入れることができると思います。誰かがreadFile()このオブジェクトに依存せずにメソッドを呼び出すことができるようにするためですか、それとも間違っていますか?

プロジェクトの下位レベルのビューが必要な場合は、git のプロジェクトへのリンクを次に示します。私は周りを検索しましたが、ヘルパー メソッドがより大きなタスクを分割していることしかわかりません。これは、それらの最初の理解でした。ただし、私はgithubにいて、これを見つけました:(見やすいようにページの下部から表示されるメソッドですが、クラスコードにもあります。さらに、誰かがもっとよく見たい場合は、gitへのリンクがあります...ページの下部にある静的ヘルパー メソッドまでは正常に見えた返信または編集をありがとう

public class TextFileReader implements FileReaderStrategy<String> {

private static final FileType FILE_TYPE = FileType.TEXT_FILE;
private String filePath;

public TextFileReader(String filePath) {
    this.filePath = filePath;
}

@Override
public List<String> readFile() throws IOException {
    List lines = new ArrayList();
    BufferedReader in = null;
    try {
        in = new BufferedReader(
                new FileReader(filePath));
        String line = in.readLine();
        while (line != null) {
            lines.add(line);
            line = in.readLine();
        }
    } catch(IOException ioe){
        throw ioe;
    }finally{
        if(in != null){
            in.close();
        }
    }
    
    return lines;
}

//helper method
public static List readFile(String filePath) throws IOException {
    return new TextFileReader(filePath).readFile();
}

}

4

1 に答える 1

1

あなたは正しいです。Classクラスのオブジェクトまたはインスタンスではなく、メソッドを呼び出すことができるようにするためだと思いますが。

たとえば、静的メソッドは次のように呼び出すことができます。

TextFileReader.readFile(<filepath>);

最初にクラスのインスタンスを作成する必要はありません。

于 2014-05-08T02:37:14.887 に答える