У меня проблема с вызовом метода String.valueOf. В качестве аргумента я передал универсальный метод, который возвращает тип Integer. И тогда возникает исключение, потому что программа пытается привести приведенное Integer к char [], чтобы вызвать метод String.valueOf. Как я знаю, в String перегружен метод valueOf (), и один из них может принимать параметр Integer.
Ниже приведен скриншот оценки выражения Eclipse, на котором показана ситуация.
![Evaluated expression](https://i.stack.imgur.com/vBlR9.png)
Эта строка вызывает ClassCastException
String quality = String.valueOf(model.get(property));
Вот что вызывает model.get (свойство):
public <X> X get(String property) {
X value = null;
try {
if (allowNestedValues && NestedModelUtil.isNestedProperty(property)) {
return (X) NestedModelUtil.getNestedValue(this, property);
}
if (map != null) {
Object objValue = map.get(property);
if (objValue != null)
value = (X) objValue;
}
} catch (Exception e) {
}
return map == null ? null : value;
}
EDIT:
Я добавил это условие, и компилятор идет внутри оператора if
if(model.get(property) instanceof Integer)
{
quality = String.valueOf(model.get(property));
}
![enter image description here](https://i.stack.imgur.com/Pve4p.png)