Подскажите, пожалуйста, возможно ли создать Java generic класс, который принимает только Number или String и ничего более. Если указывать тип отличный от Number или String была ошибка компиляции?
Можно скрыть конструктор и использовать фактори метод. Таким образом можно инициализирвоать только определенные
public class MyGenericClass<T> {
// скрываем конструктор. Доступен только для фактори методов.
private MyGenericClass(T value) {
// implement the constructor
}
public static MyGenericClass<Long> newInstance(Long value) {
return new MyGenericClass<Long>(value);
}
public static MyGenericClass<Integer> newInstance(Integer value) {
return new MyGenericClass<Integer>(value);
}
public static MyGenericClass<String> newInstance(String value) {
return new MyGenericClass<String>(value);
}
}
MyGenericClass<Integer> integerMyGenericClass = MyGenericClass.newInstance(123);
Так как написать <T extends String|Number>
не выйдет, можно использовать такой вариант:
class A<T> {
public A(T t) {
if (!(t instanceof String || t instanceof Number)) {
throw new IllegalArgumentException();
}
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
При запуске Tomcat в Eclipse все происходит нормальноКогда пытаюсь запустить JSP файл выскакивает ошибка
В приложении необходимо чтобы вторая кнопка была всегда поверх всех кнопок,остальные кнопки создаются динамически перекрывая кнопку Game(она...
Здравствуйте, помогите пожалуйста есть как бы главная activity, на ней компонент listview как сделать так, чтобы при нажатии на первый элемент открывалась...