--- a/jdk/src/java.base/share/classes/sun/util/locale/UnicodeLocaleExtension.java Wed Aug 27 11:33:45 2014 +0800
+++ b/jdk/src/java.base/share/classes/sun/util/locale/UnicodeLocaleExtension.java Wed Aug 27 22:08:19 2014 +0400
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -38,6 +38,7 @@
import java.util.Set;
import java.util.SortedMap;
import java.util.SortedSet;
+import java.util.StringJoiner;
public class UnicodeLocaleExtension extends Extension {
public static final char SINGLETON = 'u';
@@ -70,20 +71,20 @@
}
if (!this.attributes.isEmpty() || !this.keywords.isEmpty()) {
- StringBuilder sb = new StringBuilder();
+ StringJoiner sj = new StringJoiner(LanguageTag.SEP);
for (String attribute : this.attributes) {
- sb.append(LanguageTag.SEP).append(attribute);
+ sj.add(attribute);
}
for (Entry<String, String> keyword : this.keywords.entrySet()) {
String key = keyword.getKey();
String value = keyword.getValue();
- sb.append(LanguageTag.SEP).append(key);
+ sj.add(key);
if (value.length() > 0) {
- sb.append(LanguageTag.SEP).append(value);
+ sj.add(value);
}
}
- setValue(sb.substring(1)); // skip leading '-'
+ setValue(sj.toString());
}
}