У меня есть производственная система Java с IBM JVM, работающей в Linux.
Клиент сообщает следующее исключение, напечатанное в журнале:
java.lang.ClassCastException: [B incompatible with java.lang.String
При попытке привести отдельные атрибуты, возвращенные из: javax.naming.directory.InitialDirContext(...)
Из этого исключения я не могу понять, какой тип не может быть преобразован в String. Что такое "B"?
Обычно я знаю, что сообщение об ошибке приведения класса должно выглядеть примерно так:
java.lang.ClassCastException: java.lang.Integer incompatible with java.lang.String
Но, как вы видите, это не относится к первой распечатке.
Я думал, что может существовать реальный класс с именем B, но я мог бы найти его в javax.naming ...
Здесь происходит обфускация имени?
Теперь я планирую отправить клиенту версию, которая распечатает класс экземпляра перед попыткой приведения к строке:
i.getClass().getCanonicalName()
Но эти пинг-понги занимают неделю, если у вас есть идея, и вы могли бы помочь мне до этого, это было бы супер!