< prev index next >

src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java

Print this page

        

*** 28,37 **** --- 28,38 ---- import java.lang.annotation.Annotation; import java.lang.module.ModuleDescriptor; import java.lang.reflect.Executable; import java.lang.reflect.Method; import java.net.URI; + import java.nio.charset.Charset; import java.security.AccessControlContext; import java.security.ProtectionDomain; import java.util.Iterator; import java.util.List; import java.util.Map;
*** 254,263 **** --- 255,294 ---- * given class loader. */ Stream<ModuleLayer> layers(ClassLoader loader); /** + * Constructs a new {@code String} by decoding the specified subarray of + * bytes using the specified {@linkplain java.nio.charset.Charset charset}. + * + * The caller of this method shall relinquish and transfer the ownership of + * the byte array to the callee since the later will not make a copy. + * + * @param bytes the byte array source + * @param cs the Charset + * @return the newly created string + * @throws IllegalArgumentException for malformed or unmappable bytes + */ + String newStringNoRepl(byte[] bytes, Charset cs); + + /** + * Encode the given string into a sequence of bytes using the specified Charset. + * + * This method avoids copying the String's internal representation if the input + * is ASCII. + * + * This method throws IllegalArgumentException instead of replacing when + * malformed input or unmappable characters are encountered. + * + * @param s the string to encode + * @param cs the charset + * @return the encoded bytes + * @throws IllegalArgumentException for malformed input or unmappable characters + */ + byte[] getBytesNoRepl(String s, Charset cs); + + /** * Returns a new string by decoding from the given utf8 bytes array. * * @param off the index of the first byte to decode * @param len the number of bytes to decode * @return the newly created string
< prev index next >