我在数组中有字符串。我需要根据索引将数组的所有元素附加到mapreduce中的Text()
。我需要在Text()
例如:
String s = "12,23";
String[] array = s.split(",");
Text t1 = new Text();
for(int i=0;i<array.length;i++) {
t1.append(array[i]);
}
答案 0 :(得分:0)
您需要使用此方法:append(byte[] utf8, int start, int len)
(Javadoc)
所以你的代码看起来像:
t1.append(array[i].getBytes(), 0, array[i].getBytes().length);
作为快速单元测试:
@Test
public void textAppendTest() {
String s = "12,23";
String[] array = s.split(",");
Text t1 = new Text();
for(int i=0;i<array.length;i++){
t1.append(array[i].getBytes(), 0, array[i].getBytes().length);
}
System.out.println(t1); // prints 1223
}
答案 1 :(得分:0)
你可以这样做,而不需要一个分裂字符串数组:
String str = "12,23";
String newStr = str.replace("," , ""); // or replace with any character or string you want between those numbers
Text text = new Text(newStr);