2015-08-13 2 views
0

Мне нужно добавить интерфейс, называемый Converter<Destination, Source>, чтобы обеспечить возможности преобразования. Я бы написать это следующим образом:Понимание интерфейса конвертера Java

public interface Converter<Destination, Source>{ 
    public Destrination convert(Source o); 
} 

Я использую thrid сторонних библиотек, которые всегда конвертер интерфейсов удовлетворяют свои потребности более или менее. Должен ли я использовать их вместо добавления нового интерфейса? Я бы сказал, нет, было бы лучше создать новый интерфейс, потому что иначе мы бы связали наш код с библиотекой, интерфейс которой мы используем.

Итак, что было бы правильным выбором?

+0

Это обязательно отличается от [ 'java.util .функция.Функция'] (https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html)? – khelwood

+0

@khelwood Я нахожусь на Java 7. Извините, я забыл добавить эту информацию и детализировать. –

+0

@khelwood Нет, интерфейс полностью удовлетворяет мои потребности. –

ответ

2

Поскольку у вас есть Guava в вашем пути к классам, нет необходимости вводить новый интерфейс, который делает то же самое, как гуава-х Function, который определяется как:

public interface Function<F,T> { 
    public T apply(F input); 
} 
+0

Это даже лучше, чем у Java8. Это немного подробней, спасибо. –

+0

Добро пожаловать. –

Смежные вопросы