함수 인터페이스에 and()
메소드가 있으며, 소스 코드는 다음과 같습니다
그 외 test()
소스코드는 다음과 같습니다
질문은 &&
与boolean
유형 값에 대한 논리 연산이 조건자 개체를 반환할 수 있는 이유입니다. ? ?
滿天的星座2017-06-23 09:16:14
술어 객체가 무엇인지는 모르겠지만 test(t) && other.test(t)
이는 일반적인 부울 표현식이며 "술어 객체"가 아닌 부울 값을 반환합니다. 전체 return 문은 실제로 다음 문을 단축한 것입니다.
给我你的怀抱2017-06-23 09:16:14
반환된 것은 boolean
, 而是(t) -> { return true|false; }
, 表示返回一个functional interface
, 这个functional interface
是什么根据上下文确定, 只要是接受参数是1
个并且返回值是bool
都可以, 在Predicate
中就是functional interface
自己, 因为方法规定了返回值是Predicate
.
某草草2017-06-23 09:16:14
@ Fabricated Faith와 @YaTou는 둘 다 반환된 것이 Predicate<T>
의 정의를 충족하는 Lambda라고 말했습니다.
Predicate가 "predicate"로 번역되는 이유를 말씀드리고 싶습니다. "predicate"라는 의미가 있지만 여기서는 "단언, 단언"이라는 다른 의미로 사용됩니다(자연어로 단언을 사용하면 이해하기 쉽지만, 개발 기술 서적을 일반적으로 Assertions(어설션)이라고 합니다. 이는 무언가를 판단하여 참 또는 거짓 결과를 얻는 데 사용됩니다. 즉, 참이라고 판단되거나 거짓이라고 판단됩니다
三叔2017-06-23 09:16:14
소스 코드에 문제가 없다는 것은 사실이며, 지금은 (t) -> test(t)
当做一个整体了,其实应该 test(t) && other.test(t)
전체를 담당할 예정입니다. @fabricatedbelief와 @YaTou의 답변과 Biancheng의 큰 알림에 감사드립니다.