use*_*emo 0 java oop java-8 java-stream
如何更改下面的代码在java 8中使用流来检查类型对象并进行转换?java 8还有其他选择吗?
private void fillObject(Object role, String issuingRange) {
if (role != null) {
List<String> rangeList2 = null;
if (role instanceof ArrayList<?>) {
rangeList2 = (ArrayList<String>) role ;
} else if (role instanceof String) {
rangeList2 = new ArrayList(Arrays.asList(role ));
}
}
Run Code Online (Sandbox Code Playgroud)
"instanceof"的这种特殊用法的替代方案只是简单地有两种方法.
private void fillObject(ArrayList<String> role, String issuingRange) {
...
}
private void fillObject(String role, String issuingRange) {
fillObject(new ArrayList(Arrays.asList(role)), issuingRange);
}
Run Code Online (Sandbox Code Playgroud)