පෙන්වමින් පමණක්
0:03
S… Speaker 2 (10- The Supplier Interface)
The supplier interface is the opposite of the consumer interface.
0:07
S… Speaker 2 (10- The Supplier Interface)
So instead of consuming a value,
0:09
S… Speaker 2 (10- The Supplier Interface)
it supplies a value.
0:10
S… Speaker 2 (10- The Supplier Interface)
So if you look at the documentation,
0:12
S… Speaker 2 (10- The Supplier Interface)
you can see here we have a single abstract method called get
0:16
S… Speaker 2 (10- The Supplier Interface)
which returns a value of type T.
0:18
S… Speaker 2 (10- The Supplier Interface)
So this interface is also a functional interface and we
0:23
S… Speaker 2 (10- The Supplier Interface)
can represent it using a lambda expression.
0:24
S… Speaker 2 (10- The Supplier Interface)
Let me show you.
0:25
S… Speaker 1 (10- The Supplier Interface)
So let's declare a supplier of double,
0:29
S… Speaker 2 (10- The Supplier Interface)
call it get random,
0:31
S… Speaker 2 (10- The Supplier Interface)
and set it to a lambda expression.
0:34
S… Speaker 2 (10- The Supplier Interface)
Now this lambda expression should match the signature of this method,
0:38
S… Speaker 2 (10- The Supplier Interface)
so it shouldn't have any parameters and it should return a value of type t,
0:42
S… Speaker 2 (10- The Supplier Interface)
in this case double.
0:43
S… Speaker 2 (10- The Supplier Interface)
So we type empty parenthesis because we don't have any parameters,
0:47
S… Speaker 2 (10- The Supplier Interface)
the lambda operator,
0:49
S… Speaker 2 (10- The Supplier Interface)
and then in the body of this lambda I'm going to return math .random
0:55
S… Speaker 2 (10- The Supplier Interface)
Now because we have a single statement and we're simply returning a value,
0:59
S… Speaker 2 (10- The Supplier Interface)
we can simplify this lambda expression.
1:01
S… Speaker 2 (10- The Supplier Interface)
That is why the return keyword is grayed out.
1:03
S… Speaker 2 (10- The Supplier Interface)
So we put the caret over here and press alt and enter to
1:08
S… Speaker 2 (10- The Supplier Interface)
replace this with a simpler lambda.
1:10
S… Speaker 1 (10- The Supplier Interface)
Take a look.
1:11
S… Speaker 2 (10- The Supplier Interface)
So empty parenthesis goes to math .random.
1:15
S… Speaker 2 (10- The Supplier Interface)
We don't need the curly braces,
1:17
S… Speaker 2 (10- The Supplier Interface)
we don't need the return keyword either.
1:19
S… Speaker 2 (10- The Supplier Interface)
Now, this lambda expression represents a function.
1:22
S… Speaker 2 (10- The Supplier Interface)
To call this function,
1:23
S… Speaker 2 (10- The Supplier Interface)
we should type get random dot get.
1:26
S… Speaker 2 (10- The Supplier Interface)
So this will return the random value,
1:30
S… Speaker 2 (10- The Supplier Interface)
and we can print it over here.
1:32
S… Speaker 1 (10- The Supplier Interface)
So every time we run this program,
1:36
S… Speaker 2 (10- The Supplier Interface)
we get a different value.
1:38
S… Speaker 1 (10- The Supplier Interface)
Now,
1:39
S… Speaker 2 (10- The Supplier Interface)
What you need to pay attention to here is that this function is not executed
1:43
S… Speaker 2 (10- The Supplier Interface)
until we explicitly call it.
1:46
S… Speaker 2 (10- The Supplier Interface)
This is called lazy evaluation.
1:48
S… Speaker 2 (10- The Supplier Interface)
So the value is not generated until we explicitly ask for
1:52
S… Speaker 1 (10- The Supplier Interface)
it.
1:52
S… Speaker 2 (10- The Supplier Interface)
Also, just like the consumer interface,
1:55
S… Speaker 2 (10- The Supplier Interface)
this supplier interface has a few specializations for working with
1:59
S… Speaker 2 (10- The Supplier Interface)
primitive values.
2:00
S… Speaker 2 (10- The Supplier Interface)
So we have double supplier,
2:02
S… Speaker 2 (10- The Supplier Interface)
we have int supplier,
2:04
S… Speaker 2 (10- The Supplier Interface)
we have long supplier and boolean supplier.
2:08
S… Speaker 2 (10- The Supplier Interface)
So if you're working with primitive values,
2:10
S… Speaker 2 (10- The Supplier Interface)
prefer to use this primitive specializations of the supplier interface because
2:15
S… Speaker 2 (10- The Supplier Interface)
you don't pay the cost of auto boxing the primitive value inside
2:19
S… Speaker 2 (10- The Supplier Interface)
a reference type and then
2:21
S… Speaker 2 (10- The Supplier Interface)
unboxing it later on.
2:22
S… Speaker 1 (10- The Supplier Interface)
So that's all about the supplier interface.
2:25
S… Speaker 2 (10- The Supplier Interface)
Next we're going to talk about the functional interface.

මෙම පරිවර්තනය AI විසින් ජනනය කරන ලදී (ස්වයංක්රීය කථාව හඳුනා). දෝෂ අඩංගු විය හැක - විවේචනාත්මක භාවිතය සඳහා මුල් ශ්රව්ය එරෙහිව තහවුරු. AI ප්‍රතිපත්තිය

❤️ ආදරය STT.ai? ඔබේ මිතුරන්ට කියන්න!
සාරාංශය
මෙම පරිවර්තනය AI සාරාංශයක් ජනනය කිරීමට සාරාංශ ක්ලික් කරන්න.
සාරාංශගත කිරීම...
මෙම පරිවර්තනය ගැන AI අහන්න
මෙම පරිවර්තනය ගැන යමක් අහන්න - AI අදාළ කොටස් සොයා සහ පිළිතුරු දෙනු ඇත.