Text extends BinaryComparable implements WritableComparable<BinaryComparable> { public int charAt(int position) { if (position > this.length) return -1; if (position < 0) return -1; ByteBuffer bb = (ByteBuffer)ByteBuffer.wrap(bytes).position(position); return bytesToCodePoint(bb.slice()); } Text();  Text(String string);  Text(Text utf8);  Text(byte[] utf8); byte[] copyBytes(); @Override byte[] getBytes(); @Override int getLength(); int charAt(int position); int find(String what); int find(String what, int start); void set(String string); void set(byte[] utf8); void set(Text other); void set(byte[] utf8, int start, int len); void append(byte[] utf8, int start, int len); void clear(); @Override String toString(); @Override void readFields(DataInput in); void readFields(DataInput in, int maxLength); static void skip(DataInput in); void readWithKnownLength(DataInput in, int len); @Override void write(DataOutput out); void write(DataOutput out, int maxLength); @Override boolean equals(Object o); @Override int hashCode(); static String decode(byte[] utf8); static String decode(byte[] utf8, int start, int length); static String decode(byte[] utf8, int start, int length, boolean replace); static ByteBuffer encode(String string); static ByteBuffer encode(String string, boolean replace); static String readString(DataInput in); static String readString(DataInput in, int maxLength); static int writeString(DataOutput out, String s); static int writeString(DataOutput out, String s, int maxLength); static void validateUTF8(byte[] utf8); static void validateUTF8(byte[] utf8, int start, int len); static int bytesToCodePoint(ByteBuffer bytes); static int utf8Length(String string); static final public int DEFAULT_MAX_LEN; }
@Test public void testCharAt() { String line = "adsawseeeeegqewgasddga"; Text text = new Text(line); for (int i = 0; i < line.length(); i++) { assertTrue("testCharAt error1 !!!", text.charAt(i) == line.charAt(i)); } assertEquals("testCharAt error2 !!!", -1, text.charAt(-1)); assertEquals("testCharAt error3 !!!", -1, text.charAt(100)); }