Универсальный метод Java с параметрами

506
28 января 2017, 09:40

Есть класс MyGeneric<T> с полем a. Нужно создать метод public T Add(T obj) который реализует сумму Integer и конкатенацию строк String. Как такое провернуть?

Answer 1

Например, вот так:

private static class MyGeneric<T> {
    T value;
    @SuppressWarnings("unchecked")
    public T add(T value) {
        if (value instanceof String)
            return (T) concat(this.value.toString(), value.toString());
        if (value instanceof Integer)
            return (T) sum((Integer) this.value, (Integer) value);
        return null;
    }
    private static Integer sum(Integer v1, Integer v2) {
        return v1 + v2;
    }
    private static String concat(String v1, String v2) {
        return v1 + v2;
    }
}
READ ALSO
Порядок при сортировке списка с помощью компаратора

Порядок при сортировке списка с помощью компаратора

Имеем такой тестовый кодПредполагается, что созданные классы должны отсортироваться в первом случае (LegComparator) по наибольшему количеству...

333
Интернационализация веб-приложения

Интернационализация веб-приложения

В spring'e использую для решения CookieLocaleResolver, LocaleChangeInterceptor и ReloadableResourceBundleMessageSourceВсе настроено согласно множеству примеров и документации, работает...

327
Подключение библиотек к проекту в NetBeans

Подключение библиотек к проекту в NetBeans

Здравствуйте! Возник ооооочень глупый вопрос, но очень прошу помочьЕсть следующий код:

618
Файл не сохраняется когда он .jar

Файл не сохраняется когда он .jar

Хотел поработать с файлами, программка работает в IntellijIdea, но когда создаюjar файл он не сохраняет изменение на файл, выдает ошибку

339