Giriş
Şu satırı dahil ederiz.
Bu sınıf en çok equals ve hashCode metodlarını override etmek için kullanılır.
Örnek
Şöyle yaparız.
Java 9 ile geliyor. Belirtilen indeks değerinin, Collection.size()'dan küçük olduğunu kontrol eder.
equals metodu
Metodun içi şöyle.
Şöyle yaparız.
Metodun içi şöyle.
true veya false döner. Şöyle yaparız.
Metodun için şöyle.
Bu metod assert kullanımına tercih edilmeli. Eskiden şöyle yapardık. Bu kullanıma bence artık gerek yok.
Hata mesajı olmadan şöyle yaparız. Nesne null ise exception fırlatılır, değilse nesneyi döner.
Hata mesajı ile şöyle yaparız.
Java 9 ile geliyor.
Örnek
Şöyle yaparız.
Şöyle yaparız
Eğer her iki parametre de null ise exception fırlatır. Şöyle yaparız.
Eğer nesnenin toString metodu override edilmemişse java.lang.String@1e23 gibi bir değer döner.
Metodun içi şöyle.
Şöyle yaparız.
Açıklaması şöyle.
Şu satırı dahil ederiz.
import java.util.Objects;
Açıklaması şöyle.Objects is a class consists of static utility methods for operating on objects, or checking certain conditions before an operation.Bu sınıf Files, Arrays gibi tamamen static metodlardan oluşan yardımcı bir sınıftır.
Bu sınıf en çok equals ve hashCode metodlarını override etmek için kullanılır.
Örnek
Şöyle yaparız.
public Foo(Foo that) { // not a copy constructor!!!
this.category = that.category;
this.amount = 0;
this.price = 0;
}
public int hashCode() {
return Objects.hashCode(category);
}
public boolean equals(Object another) {
if (another == this) return true;
if (!(another instanceof Foo)) return false;
Foo that = (Foo) another;
return Objects.equals(this.category, that.category);
}
checkIndex metoduJava 9 ile geliyor. Belirtilen indeks değerinin, Collection.size()'dan küçük olduğunu kontrol eder.
equals metodu
Metodun içi şöyle.
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
Şöyle yaparız.public class Foo {
private String name;
@Override
public boolean equals(Object o) {
if (o == this) return true;
if (!(o instanceof Foo)) {
return false;
}
Foo foo = (Foo) o;
return Objects.equals(name, foo.name);
}
}
hash metoduŞöyle yaparız.
public class Foo {
private String name;
@Override
public int hashCode() {
return Objects.hash(name);
}
}
isNull metoduMetodun içi şöyle.
public static boolean isNull(Object obj) {
return obj == null;
}
nonNull metodutrue veya false döner. Şöyle yaparız.
// Print only non-null elements
list.stream()
.filter(Objects::nonNull)
.forEach(System.out::println);
requireNonNull metoduMetodun için şöyle.
public static <T> T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
assertBu metod assert kullanımına tercih edilmeli. Eskiden şöyle yapardık. Bu kullanıma bence artık gerek yok.
assert object != null;
ÖrnekHata mesajı olmadan şöyle yaparız. Nesne null ise exception fırlatılır, değilse nesneyi döner.
public class A {
private B b;
private C c;
public A(B b, C c) {
this.b = Objects.requireNonNull(b);
this.c = Objects.requireNonNull(c);
}
}
ÖrnekHata mesajı ile şöyle yaparız.
public class Foo {
private final Bar bar;
public Foo(Bar bar) {
Objects.requireNonNull(bar, "bar must not be null");
this.bar = bar;
}
}
requireNonNullElse metoduJava 9 ile geliyor.
Örnek
Şöyle yaparız.
String foo = null;
Objects.requireNonNullElse(foo, "nonNull");//returns the string "nonNull"
ÖrnekŞöyle yaparız
Objects.requireNonNullElse(serviceResponse.getEntryList(),
Collections.emptyList())
ÖrnekEğer her iki parametre de null ise exception fırlatır. Şöyle yaparız.
String foo = null, bar = null;
Objects.requireNonNullElse(foo, bar);//throws a NullPointerException
toString metoduEğer nesnenin toString metodu override edilmemişse java.lang.String@1e23 gibi bir değer döner.
Metodun içi şöyle.
public static String toString(Object o) {
return String.valueOf(o);
}
ÖrnekŞöyle yaparız.
String description = Objects.toString(...);
wait metoduAçıklaması şöyle.
[...] This method causes the current thread (call it T) to place itself in the wait set for this object and then to relinquish any and all synchronization claims on this object. [...]
Hiç yorum yok:
Yorum Gönder