Size: a a a

2020 August 17

AD

Apache DOG™ in pro.jvm
Тяжело это дебажить
источник

かたかわ in pro.jvm
Denis Chikanov
Я может тупой, но я только что радостно скомпилировал интерфейс с двумя методами, перегруженными по типу аргумента. Что не так?
Я тоже не совсем понял проблему
Делаешь общий интерфейс для А и B, запиливаешь туда два перегруженных метода
источник

かたかわ in pro.jvm
Готово
источник

かたかわ in pro.jvm
Дальше полиформизм
источник

DC

Denis Chikanov in pro.jvm
humanoid
Код в студию пожалуйста
interface A{
String handle(Integer a);
String handle(String a);
}
источник

WD

WhoLetThe DogsOut in pro.jvm
Тогда читайте задачу. У вас не 2 варианта, а n. Который ещё и динамическим может быть.
источник

h

humanoid in pro.jvm
WhoLetThe DogsOut
Тогда читайте задачу. У вас не 2 варианта, а n. Который ещё и динамическим может быть.
Вот - да
источник

h

humanoid in pro.jvm
Denis Chikanov
interface A{
String handle(Integer a);
String handle(String a);
}
Поэтому такое не подходит
источник

WD

WhoLetThe DogsOut in pro.jvm
Я бы предложил делать интерфейс Handler<View,Provider>.
источник

DC

Denis Chikanov in pro.jvm
humanoid
В Java нелья получается вывести интерфейс для двух классов (А и B), чтобы например положить их в общих лист и затем вызывть handle?

class One{}
class Two{}

class A{
   String handle(One one){
       return "A-One";
   }
   String handle(Two one){
       return "A-Two";
   }
}

class B{
   String handle(One one){
       return "B-One";
   }
   String handle(Two one){
       return "B-Two";
   }
}
Читаю задачу, класса было два
источник

DC

Denis Chikanov in pro.jvm
XY problem в общем, понял
источник

WD

WhoLetThe DogsOut in pro.jvm
Вопрос в том, у тебя каждая вьюха должна каждого провайдера обслуживать? Или могут отсутствовать?
источник

WD

WhoLetThe DogsOut in pro.jvm
Ну да.
источник

h

humanoid in pro.jvm
WhoLetThe DogsOut
Вопрос в том, у тебя каждая вьюха должна каждого провайдера обслуживать? Или могут отсутствовать?
Не обязательно
источник

h

humanoid in pro.jvm
Если провайдера для форомочки/view нет, то компайл еррор
источник

WD

WhoLetThe DogsOut in pro.jvm
Ты себе противоречишь. Если не обязательно, т.е. могут отсутствовать пары view-provider, то вариант выше тебе подходит. Если же обязаны быть все связи, то имеет смысл делать 1 общий интерфейс с методами под каждую вьюху, либо наоборот, под каждого провайдера.
источник

DC

Denis Chikanov in pro.jvm
Вообще в первом приближении самым разумным в рамках джавы решением кажется сделать енум с провайдерами, и по нему свитчиться
источник

h

humanoid in pro.jvm
Denis Chikanov
Вообще в первом приближении самым разумным в рамках джавы решением кажется сделать енум с провайдерами, и по нему свитчиться
Должно расширяться. Енум тут не подходит.
источник

h

humanoid in pro.jvm
WhoLetThe DogsOut
Ты себе противоречишь. Если не обязательно, т.е. могут отсутствовать пары view-provider, то вариант выше тебе подходит. Если же обязаны быть все связи, то имеет смысл делать 1 общий интерфейс с методами под каждую вьюху, либо наоборот, под каждого провайдера.
Ща - осмыслю
источник

h

humanoid in pro.jvm
WhoLetThe DogsOut
Я бы предложил делать интерфейс Handler<View,Provider>.
Смотри Handler<View,Provider> - тут проблема, что я не могу создать этот handler без указания сразу двух парамтеров в одном месте. А я хочу сначала положить в лист все Handler -ы c нужными View, а потом доставая из листа - давать еще и Provider
источник