반응형
-> <-연산자는 무엇을합니까?
최근에 다음 코드가 나타났습니다.
IntPredicate neg = x -> x <- x;
이게 뭐야, 일종의 역 이중 람다?
-> <-운영자 가 없습니다 . 첫 번째 ->는 Java 8에 도입 된 람다 구문이며 두 번째 <-는 'smaller than' <및 'unary minus' 의 잘못된 연결입니다 -.
당신은 그것을 읽을 수 있습니다 IntPredicate neg = (x) -> (x < (-x));. 즉, 그것이 모든 ( 음 , 대부분의 ) 음수에 대한 경우 x인보다 작은 지 여부를 테스트 하므로 이름이 .-xneg
IntPredicate neg = x -> x <- x;
System.out.println(neg.test(4)); // false
System.out.println(neg.test(0)); // false
System.out.println(neg.test(-4)); // true
완전성을 위해 :이 테스트는 (의도적으로?) 이해하기 어려울뿐만 아니라-주석에서 지적했듯이- Integer.MIN_VALUE(즉 ==-Integer.MIN_VALUE) 에도 실패합니다 . 대신 훨씬 더 간단한 IntPredicate neg = x -> (x < 0);.
참고 URL : https://stackoverflow.com/questions/24938333/what-does-the-operator-do
반응형
'IT TIP' 카테고리의 다른 글
| S3에서 파일 이름의 최대 길이는 얼마입니까? (0) | 2020.10.24 |
|---|---|
| Angular.js 및 ASP.NET MVC 4 (0) | 2020.10.24 |
| 'gc'와 'gccgo'의 주요 차이점은 무엇입니까? (0) | 2020.10.24 |
| .NET Core (비 ASP.NET Core) 프로젝트 용 VS2017 솔루션 탐색기에서 파일을 중첩 할 수 있습니까? (0) | 2020.10.24 |
| Google Firestore : 속성 값의 하위 문자열에 대한 쿼리 (텍스트 검색) (0) | 2020.10.24 |