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