我有以下两种java方法(简化).我想用一种方法替换这两种方法.想要这样做的原因是一种方法用于本地测试,一种方法在Hadoop集群上运行时使用.我只是花了一段时间调试我的代码,然后才意识到我调整了一种方法而不是另一种方法,并想知道如何在将来避免这种愚蠢的错误.
public MyObject(ArrayList<String> values){
for(String val: values){
System.out.println(val.toString());
}
}
public MyObject(Iterable<Text> values){
for(Text val: values){
System.out.println(val.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
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
由于您没有在构造函数中使用任何特定的String或Text(不管是什么),您可以将其Iterable<? extends Object>作为参数:
public MyObject(Iterable<? extends Object> values){
for(Object val: values){
System.out.println(val.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |