У меня есть следующий общий класс:Типа специфический конструктор для общего класса
public class DropdownItem<V, D> {
private V value;
private D display;
public DropdownItem(V value, D display) {
this.value = value;
this.display = display;
}
public V getValue() {
return value;
}
public void setValue(V value) {
this.value = value;
}
public D getDisplay() {
return display;
}
public void setDisplay(D display) {
this.display = display;
}
}
Как создать конструктор для определенных типов?
Например,
public DropdownItem(CustomClass custom) {
this(custom.getFoo(), custom.getBar());
}
или
public DropdownItem(CustomClass custom) {
this.value = custom.getFoo();
this.display = custom.getBar();
}
Ни одно из этих решений работы. Это действительно работает, чтобы сделать это при реализации обобщенного класса:
DropdownItem<Integer, String> myItem = new DropdownItem<Integer, String>(custom.getFoo(), custom.getBar());
Однако, я хотел бы включить конструктор в обобщенном классе для достижения этой цели. Есть идеи?
в вашем первом конструкторе вы можете использовать 'if (value instanceof CustomClass) {// do stuff}' – jlordo
@SotiriosDelimanolis Извините. Вопрос исправлен. –