Можно ли проверить непосредственно тип самого параметра в классе generic? типа этого?
class ComparatorBack<T> implements Comparator<T> {
@Override
public int compare(T o1, T o2) {
if (T instanceof Person) {
if (((Person)o1).age == ((Person)o2).age) {
return 0;
} else if (((Person)o1).age < ((Person)o2).age) {
return 1;
} else if (((Person)o1).age > ((Person)o2).age) {
return -1;
}
}
return 0;
}}
Можно проверить только типы объектов, типов generic'ов вообще в рантайме нет.
if (o1 instanceof Person && o2 instanceof Person) {
...
}
return o1 instanceof Person ? -1 : 1;
Можно сделать все намного проще
class ComparatorBack implements Comparator<Person> {
@Override
public int compare(Person o1, Person o2) {
return Integer.compare(o2.age, o1.age);
}
}
Ключевым будет то, что мы сразу имплементируем интерфейс Comparator
, у которого generic будет Person
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
я столкнулся с проблемой переноса приложения с одной технологии на другую, если верить тому, что я вычитал
Идея такова: Вставляю список в БД, подписываюсь на вставку, при успешной вставке, возвращается список id вставленных элементов, по этому списку...