2017-01-25 4 views
2

저는 Java 8에 익숙하지 않으며 메소드 참조를 배우고 있습니다. 나는 코딩 중이었고 아래의 경우에 람다 식을 사용했습니다. 그러나 소나 린트 (sonar lint)는 메소드 참조를 사용하여 아래 줄을 더 줄일 수 있다고 말합니다.아래의 코드 스 니펫에서 메소드 참조를 사용할 수 있습니까

  1. 타입 캐스팅
  2. 나는 우리가 오는 것을 통과 할 때 방법 refernce를 사용해야합니다 읽었이 있기 때문에 지금은 implemenetation이야에 대해 혼란 스러워요. System.out::println 캔 방법 참조 아래의 경우

    ExpectedCondition<Boolean> cc = (x) -> { 
         JavascriptExecutor j = (JavascriptExecutor) x; 
         return (Boolean) j.executeScript("return document.readyState").toString().equals(completeString); 
        }; 
    
+0

참조 [여기 내 대답 (http://stackoverflow.com/a/32332582/에서 구현 될 예 o -> System.out.println(o)를 들어 가 기록 될 수 있습니다 2071828) 매개 변수가있는 호출에 대한 메소드 참조 사용. –

+0

'.equals (completeString) '대신'.equals (x)'가되어야합니까? –

+0

@AndreasLundgren 별도의 문자열 인 comepleteString입니다. – BeginnersSake

답변

0
Boolean fun(WebDriver d) 
    { 
     JavascriptExecutor j = (JavascriptExecutor) d; 
     return (Boolean) j.executeScript("return document.readyState").toString().equals(""); 
    } 
ExpectedCondition<Boolean> cd = this::fun; 
관련 문제