我有一个Java生产系统上运行Linux的IBM JVM。结果 客户报告打印到日志中出现以下异常:点击 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()结果 但这些平pongs需要一个星期,如果你有一个想法,可以帮助我在这之前,这将是超级!

有帮助吗?

解决方案

[Bbyte的阵列(即byte[])。注意,[是名称的一部分。

请参阅 API用于Class.getName() 以这些名称是如何产生的规则。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top