Время от времени в своем коде я обнаруживаю, что могу решить проблему, используя простой обобщенный класс или класс с подстановочными знаками.
У меня есть дизайн, где такой класс:
Class World<T, C> { .... }
определенно делает мой код чище, чем без дженериков.
Тем не менее, иногда я использую
World theWorld;
или иногда я получаю
World<?, ?> theWorld;
Я делаю это, потому что, кажется, это то, что нужно, чтобы компилятор принял это и мой
попытки избежать их приводят меня к более сложному кастингу или наследованию.
Это выглядит уродливым и вонючим для меня, и все же я не могу оправдать добавленную сложность, которую я должен представить, чтобы ее избежать.
В каких случаях (если таковые имеются) вы полагаете, что использование обнаженного или подстановочного универсального кода является приемлемой идиоматической Java?