Tanımlama
İmzası şöyle.
Comparable arayüzüne sınıf tipi geçmemek muhtemelen yanlış bir tanımlama. Şöyle yapmamalı.
Şöyle yaparız
İmzası şöyle.
public interface Comparable<T> {
int compareTo(T o);
}
Nesne bu arayüzden türetilir. Ayrıca Comparable arayüzüne kendi sınıf tipimi geçerim. Daha sonra compareTo metodu gerçekleştirilir. Nesnem diğer nesneden büyükse 1, diğer nesneye eşitse 0, küçükse -1 dönerim.public class Foo implements Comparable<Foo> {
public int compareTo(Foo other) {...}
}
Yanlış Tanımlama Comparable arayüzüne sınıf tipi geçmemek muhtemelen yanlış bir tanımlama. Şöyle yapmamalı.
public class Foo implements Comparable
{
...
}
Sınıfım Generic İseŞöyle yaparız
public class Foo<T> implements Comparable<T> {
@Override
public int compareTo(final T o) {
return ...;
}
}
Generic tip Comparable Arayüzünden kalıtsın istiyorsak şöyle yaparız.public class Foo<T extends Comparable<T>> {
...
}
Hiç yorum yok:
Yorum Gönder