我正在使用以下代码,其中fieldValue可以有简单属性,有没有办法在执行此代码之前检查fieldValue是否不包含无法转换为字符串的对象?以避免崩溃。
keyVal.put(fieldName, (String) fieldValue);
if (fieldValue instanceof String)
asSubclass()
函数将其转换为String类,或者使用isAssignableFrom()
来检查它是否是String的超类。 - keelarInteger
不能转换为String
。 - arshajii由于String
是一个final
类(因此不能有子类),我建议使用getClass
而不是instanceof
:
if (fieldValue != null && fieldValue.getClass() == String.class)
if (fieldValue instanceof String) {
keyVal.put(fieldName, (String) fieldValue);
}