関数インターフェースには and() メソッドがあり、ソースコードは次のとおりです
and()
また、test()ソースコードは以下の通りです
test()
問題は、なぜ && と boolean 型の値の間の論理演算が述語オブジェクトを返すことができるのかということです。 ? ?
&&
boolean
业精于勤,荒于嬉;行成于思,毁于随。
述語オブジェクトが何なのかは分かりませんが、test(t) && other.test(t) これは普通のブール式であり、「述語オブジェクト」ではなくブール値を返します。 return ステートメント全体は、実際には次のステートメントの省略形です:
test(t) && other.test(t)
返されるものはboolean, 而是(t) -> { return true|false; }, 表示返回一个functional interface, 这个functional interface是什么根据上下文确定, 只要是接受参数是1个并且返回值是bool都可以, 在Predicate中就是functional interface自己, 因为方法规定了返回值是Predicateではありません。
(t) -> { return true|false; }
functional interface
1
bool
Predicate
@ Fabricated Faith と @YaTou はどちらも、返されるのは Predicate<T> の定義を満たす Lambda であると述べています。
Predicate<T>
Predicate が「述語」と訳される理由を言いたいのですが、Predicate には「述語」という意味がありますが、ここでは「主張、主張」という別の意味で使われています(自然言語ではアサーションを使った方がわかりやすいですが)。開発技術書などでは一般に「アサーション」と呼ばれていますが、これは何かを判断して真偽の結果、つまり真と判断されるか偽と判断されるかを知るために使われます
ソースコードに問題がないのは事実です。私が今責任を持っていますので、(t) -> test(t)当做一个整体了,其实应该 test(t) && other.test(t)回答とBianchengの重要な思い出をありがとう
(t) -> test(t)
述語オブジェクトが何なのかは分かりませんが、
リーリーtest(t) && other.test(t)
これは普通のブール式であり、「述語オブジェクト」ではなくブール値を返します。 return ステートメント全体は、実際には次のステートメントの省略形です:返されるものは
boolean
, 而是(t) -> { return true|false; }
, 表示返回一个functional interface
, 这个functional interface
是什么根据上下文确定, 只要是接受参数是1
个并且返回值是bool
都可以, 在Predicate
中就是functional interface
自己, 因为方法规定了返回值是Predicate
ではありません。@ Fabricated Faith と @YaTou はどちらも、返されるのは
Predicate<T>
の定義を満たす Lambda であると述べています。Predicate が「述語」と訳される理由を言いたいのですが、Predicate には「述語」という意味がありますが、ここでは「主張、主張」という別の意味で使われています(自然言語ではアサーションを使った方がわかりやすいですが)。開発技術書などでは一般に「アサーション」と呼ばれていますが、これは何かを判断して真偽の結果、つまり真と判断されるか偽と判断されるかを知るために使われます
ソースコードに問題がないのは事実です。私が今責任を持っていますので、
。(t) -> test(t)
当做一个整体了,其实应该test(t) && other.test(t)
回答とBianchengの重要な思い出をありがとう