示例1:
Text t = new Text("hadoopp");
t.set(new Text("pig"));
byte[] b = t.getBytes();
for (byte bb : b)
System.out.print(bb + " ");
System.out.println();
System.out.println(t.getLength());
System.out.println(b.length);
System.out.println(t.toString());
输出如下:
112 105 103 111 111 112 112
3
7
pig
示例2:
更改上例的t对象为“ha”的text对象;
输出如下:
112 105 103
3
3
pig
个人总结:
text的set(Text tt)方法是将tt复制到t对象中,当t初始长度大于tt的长度时getBytes().length会保留t的初始长度,当t的初始长度小于tt的长度时getBytes().length的长度按tt的长度算,而getLength()算的是各自的字符数。
一句话:用了set(Text tt)函数时,getBytes().length的长度按两者中较长的算。
注意:set(string s)的getLength与getBytes().length的值是一样的!