9

この Scanner APIから直接:

String input = "1 fish 2 fish red fish blue fish";
     Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
     System.out.println(s.nextInt());
     System.out.println(s.nextInt());
     System.out.println(s.next());
     System.out.println(s.next());
     s.close(); 
4

6 に答える 6

1

ScannerStringを閉じなければ、リソース リークは発生しません。基になるソースとして内部的にnew Scanner(String)作成し、閉じると効果がありません。StringReaderScannerStringReader

于 2013-07-30T11:29:01.673 に答える
0

Scannerをクローズ済みとしてマークする (オブジェクトに対する後続のすべての操作がすぐに失敗するようにする) 場合は、 Scanner.close() を呼び出す必要があります

于 2013-07-30T11:29:06.467 に答える
0

scanner.close(); を使用するのは良い考えだと思います。これはリソースリークを防ぐためであり、これを習慣にすると非常に有益です。

于 2017-09-24T17:22:53.523 に答える