刚开始接触对着两个概念比较模糊,不明白input.gvetString(int i)中的i具体是什么的索引,看下源码就非常简单了
new Values
public class Values extends ArrayList<Object>{
public Values() {
}
public Values(Object... vals) {
super(vals.length);
for(Object o: vals) {
add(o);
}
}
}
Tuple
public Object getValue(int i);
public String getString(int i);
public Integer getInteger(int i);
public Long getLong(int i);
public Boolean getBoolean(int i);
public Short getShort(int i);
public Byte getByte(int i);
...
...
...
就是一个往list里面add一个get的过程
collector.emit(new Values(“test`”,"test2","test3"));
input.getString(2)//得到的是 test3
如果:
collector.emit(new Values(“test`”,"test2","test3"));
declarer.declare(new Fields("1name","2name","3name"));
input.getStringByField("2name")//获得test2