7 Haziran 2018 Perşembe

Method Reference

Giriş
Grameri şöyledir.
MethodReference:
  ExpressionName :: [TypeArguments] Identifier 
  ReferenceType :: [TypeArguments] Identifier 
  Primary :: [TypeArguments] Identifier 
  super :: [TypeArguments] Identifier 
  TypeName . super :: [TypeArguments] Identifier 
  ClassType :: [TypeArguments] new 
  ArrayType :: new
Method Reference Supplier ile kullanılabilir.

Örnek
static üye metod için şöyle yaparız.
import com.example.MyClass;

someStream.map(MyClass::myStaticMethod)
Equality
Açıklaması şöyle.
JLS makes no promises about identity or equality of what you get out of method reference expressions.
Örnek
Şöyle yaparız.
Object obj = new Object();

IntSupplier foo = obj::hashCode;
IntSupplier bar = obj::hashCode;

System.out.println(foo == bar);  // false

System.out.println(foo.equals(bar));  // false   
Örnek
Şöyle yaparız.
Object object = ...;
Supplier<String> s1 = object::toString;
Supplier<String> s2 = object::toString;
System.out.println(s1.equals(s2));

Hiç yorum yok:

Yorum Gönder