< prev index next >

src/java.base/share/classes/java/nio/charset/Charset.java

Print this page
rev 17455 : 8184665: Skip name and alias checks for standard Charsets
Reviewed-by: sherman, rriggs

*** 633,646 **** * * @throws IllegalCharsetNameException * If the canonical name or any of the aliases are illegal */ protected Charset(String canonicalName, String[] aliases) { - checkName(canonicalName); String[] as = Objects.requireNonNullElse(aliases, zeroAliases); ! for (int i = 0; i < as.length; i++) checkName(as[i]); this.name = canonicalName; this.aliases = as; } /** --- 633,654 ---- * * @throws IllegalCharsetNameException * If the canonical name or any of the aliases are illegal */ protected Charset(String canonicalName, String[] aliases) { String[] as = Objects.requireNonNullElse(aliases, zeroAliases); ! ! // Skip checks for the standard, built-in Charsets we always load ! // during initialization. ! if (!StandardCharsets.ISO_8859_1.equals(canonicalName) ! && !StandardCharsets.US_ASCII.equals(canonicalName) ! && !StandardCharsets.UTF_8.equals(canonicalName)) { ! checkName(canonicalName); ! for (int i = 0; i < as.length; i++) { checkName(as[i]); + } + } this.name = canonicalName; this.aliases = as; } /**
< prev index next >