/** Writes the length and CharSequence as UTF8, or null. The string can be read using {@link Input#readString()} or * {@link Input#readStringBuilder()}. * @param value May be null. */ public void writeString (CharSequence value) throws KryoException { if (value == null) { writeByte(0x80); // 0 means null, bit 8 means UTF8. return; } int charCount = value.length(); if (charCount == 0) { writeByte(1 | 0x80); // 1 means empty string, bit 8 means UTF8. return; } writeUtf8Length(charCount + 1); int charIndex = 0; if (capacity - position >= charCount) { // Try to write 8 bit chars. int position = this.position; for (; charIndex < charCount; charIndex++) { int c = value.charAt(charIndex); if (c > 127) break; niobuffer.put(position++, (byte)c); } this.position = position; niobuffer.position(position); } if (charIndex < charCount) writeString_slow(value, charCount, charIndex); niobuffer.position(position); }
/** Writes the length and CharSequence as UTF8, or null. The string can be read using {@link Input#readString()} or * {@link Input#readStringBuilder()}. * @param value May be null. */ public void writeString (CharSequence value) throws KryoException { if (value == null) { writeByte(0x80); // 0 means null, bit 8 means UTF8. return; } int charCount = value.length(); if (charCount == 0) { writeByte(1 | 0x80); // 1 means empty string, bit 8 means UTF8. return; } writeUtf8Length(charCount + 1); int charIndex = 0; if (capacity - position >= charCount) { // Try to write 8 bit chars. int position = this.position; for (; charIndex < charCount; charIndex++) { int c = value.charAt(charIndex); if (c > 127) break; niobuffer.put(position++, (byte)c); } this.position = position; niobuffer.position(position); } if (charIndex < charCount) writeString_slow(value, charCount, charIndex); niobuffer.position(position); }
/** Writes the length and CharSequence as UTF8, or null. The string can be read using {@link Input#readString()} or * {@link Input#readStringBuilder()}. * @param value May be null. */ public void writeString (CharSequence value) throws KryoException { if (value == null) { writeByte(0x80); // 0 means null, bit 8 means UTF8. return; } int charCount = value.length(); if (charCount == 0) { writeByte(1 | 0x80); // 1 means empty string, bit 8 means UTF8. return; } writeUtf8Length(charCount + 1); int charIndex = 0; if (capacity - position >= charCount) { // Try to write 8 bit chars. int position = this.position; for (; charIndex < charCount; charIndex++) { int c = value.charAt(charIndex); if (c > 127) break; niobuffer.put(position++, (byte)c); } this.position = position; niobuffer.position(position); } if (charIndex < charCount) writeString_slow(value, charCount, charIndex); niobuffer.position(position); }
/** Writes the length and CharSequence as UTF8, or null. The string can be read using {@link Input#readString()} or * {@link Input#readStringBuilder()}. * @param value May be null. */ public void writeString (CharSequence value) throws KryoException { if (value == null) { writeByte(0x80); // 0 means null, bit 8 means UTF8. return; } int charCount = value.length(); if (charCount == 0) { writeByte(1 | 0x80); // 1 means empty string, bit 8 means UTF8. return; } writeUtf8Length(charCount + 1); int charIndex = 0; if (capacity - position >= charCount) { // Try to write 8 bit chars. int position = this.position; for (; charIndex < charCount; charIndex++) { int c = value.charAt(charIndex); if (c > 127) break; niobuffer.put(position++, (byte)c); } this.position = position; niobuffer.position(position); } if (charIndex < charCount) writeString_slow(value, charCount, charIndex); niobuffer.position(position); }
niobuffer.position(position); if (charIndex < charCount) writeString_slow(value, charCount, charIndex); niobuffer.position(position);
niobuffer.position(position); if (charIndex < charCount) writeString_slow(value, charCount, charIndex); niobuffer.position(position);
niobuffer.position(position); if (charIndex < charCount) writeString_slow(value, charCount, charIndex); niobuffer.position(position);
niobuffer.position(position); if (charIndex < charCount) writeString_slow(value, charCount, charIndex); niobuffer.position(position);