Странная проблема приведения в Java - PullRequest
0 голосов
/ 09 декабря 2011

Это может выглядеть довольно глупо, но как я могу разыграть это:

Expression<?> myExpression = ...

к этому, чтобы он соответствовал заданному параметру:

<Y extends java.lang.Comparable<? super Y>> gt(Expression<? extends Y> parameter)

Я понятия не имею, как решить эту проблему, хотя ..

Ответы [ 2 ]

0 голосов
/ 09 декабря 2011

Вы должны объявить myExpression как выражение, где X имеет класс Y или подтип Y, как того требует ваш метод "gt".

Или привести его к необходимому типу перед вызовом метода,но тогда вы получите предупреждение компилятора.

0 голосов
/ 09 декабря 2011

Самое простое - использовать стирание (которое выдаст предупреждение, которое можно отключить)

gt((Expression) myExpression);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...