2017-12-11 2 views
0

안녕하세요. 아래에 제공된 코드가 제공된 폴더 경로에서 파일 목록을 가져 오는 것이 내 논리입니다. 그러나 람다 식을 따르도록 코드를 변경하려는 소나 문제가 있습니다. 메소드 참조. 도움을 청하니 . 사전에아래의 코드를 lamba 메서드 참조로 변경하는 방법

public static File[] getFileName(String folderPath) { 
    File[] fileEntry = null; 
    File folder = new File(folderPath); 
    fileEntry = folder.listFiles(new FileFilter() { 
     @Override 
     public boolean accept(File pathname) { 
     return pathname.isFile(); 
     } 
    }); 
    return fileEntry; 
    } 

덕분에

답변

0

하게 IntelliJ IDEA는 빠른 수정과 같은 코드를 최적화 할 수 있습니다.

람다 형태 : 가장 짧은 형태는

public static File[] getFileName(String folderPath) { 
    File[] fileEntry; 
    File folder = new File(folderPath); 
    fileEntry = folder.listFiles(pathname -> pathname.isFile()); 
    return fileEntry; 
} 

입니다

: 당신의 빠른 응답 tkruse에 대한

public static File[] getFileName(String folderPath) { 
    return new File(folderPath).listFiles(File::isFile); 
} 
+0

덕분에, 공공 정적 파일 []려면 getFilename 같은 몇 가지 주석을 추가 할 정말 도움이 원하는 그 (문자열 folderPath) { File [] fileEntry; 파일 폴더 = 새 파일 (folderPath); fileEntry = folder.listFiles (경로명 -> 경로명 .isFile()); return fileEntry; }이 코드는 람다 표현식으로 변환 한 후에도 소나 문제를 줄 것이지만, 가장 짧은 형식이 더 합리적인 것이고, 나는 소나 범위를 각각 느낀다. – user2120524

+0

확실한 첫 번째 양식은 아마도 다른 경고를 줄 것입니다. 최단 경고가 없어야하며, 그렇지 않으면 경고를 알려주십시오. 내 대답이 정상이라면 왼쪽의 accept 버튼을 클릭하십시오. – tkruse

관련 문제