如何使用一个通用构造函数替换两个Java构造函数

 幸福的小馋豆 发布于 2023-01-10 11:56

我有以下两种java方法(简化).我想用一种方法替换这两种方法.想要这样做的原因是一种方法用于本地测试,一种方法在Hadoop集群上运行时使用.我只是花了一段时间调试我的代码,然后才意识到我调整了一种方法而不是另一种方法,并想知道如何在将来避免这种愚蠢的错误.

public MyObject(ArrayList values){
    for(String val: values){
        System.out.println(val.toString());
    }
}

public MyObject(Iterable values){
    for(Text val: values){
        System.out.println(val.toString());
    }
}

Text是一个apache hadoop类.这是源代码的链接. http://grepcode.com/file/repository.cloudera.com/content/repositories/releases/com.cloudera.hadoop/hadoop-core/0.20.2-737/org/apache/hadoop/io/Text.java

1 个回答
  • 由于您没有在构造函数中使用任何特定的StringText(不管是什么),您可以将其Iterable<? extends Object>作为参数:

    public MyObject(Iterable<? extends Object> values){
        for(Object val: values){
            System.out.println(val.toString());
        }
    }
    

    2023-01-10 11:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有