方法返回Object
或Object[]
类型String
,但如果我使用String[]
进行投射,则在包含单个字符串时会发出类强制转换异常。我怎么解决这个问题?
有没有办法检查它是否包含String
或String[]
?
答案 0 :(得分:22)
当然,请使用instanceof
operator:
if (x instanceof String) {
...
}
if (x instanceof String[]) {
...
}
等。这是不理想的,请注意......有什么方法可以重新设计你的API来避免这种情况吗?
答案 1 :(得分:7)
重写方法以始终返回String[]
,即使只有一个方法。
更好的是,让它返回List<String>
并使用Collections.singletonList()
作为单元素案例。