Linux上で実行されているIBMJVMを備えたJava実動システムがあります。
顧客から、ログに出力された次の例外が報告されます。から
java.lang.ClassCastException: [B incompatible with java.lang.String
返された個々の属性をキャストしようとした場合: javax.naming.directory.InitialDirContext(...)
この例外から、文字列に変換できなかったタイプを特定できません。「B」とは?
通常、クラスキャストのエラーメッセージは次のようになります。
java.lang.ClassCastException: java.lang.Integer incompatible with java.lang.String
しかし、ご覧のとおり、最初の印刷ではそうではありません。
Bという名前の実際のクラスがあるのではないかと思いましたが、javax.namingの下にあるクラスを見つけることができました...
ここで名前の難読化が行われていますか?
文字列にキャストする前に、インスタンスのクラスを出力するバージョンをお客様に送信する予定です。
i.getClass().getCanonicalName()
ただし、これらのピンポンは、アイデアがあり、その前に私を助けてくれる場合は、1週間かかります。 !!