java - java 8中有 "instanceof "的替换吗?

标签 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 ));
            }
}

最佳答案

“instanceof”这种特殊用法的替代方案是仅使用两种方法。

private void fillObject(ArrayList<String> role, String issuingRange) {
        ...
}
private void fillObject(String role, String issuingRange) {
        fillObject(new ArrayList(Arrays.asList(role)), issuingRange);
}

关于java - java 8中有 "instanceof "的替换吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49004053/

相关文章:

java - EJB 3事务回滚问题

java - 为什么要将 main() 放在专用类中?

javascript - 使用 jQuery 编写 OO Javascript

php - 命名空间不适用于 php 中的 __autoload 魔法函数

java - 可选择对流应用过滤器

java - 从 Set Java 8 中删除一个元素

java - JNLP 应用程序 - Lib 文件夹未发送到客户端

java - 验证txt文件

java - 这个演示中的 JVM 内存分配和释放解释?

java - 如何使用 java 流仅替换 List<Character> 的第一个元素而不对列表的其余部分进行任何更改?