diff options
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/gnu/java/awt/peer/gtk/GdkFontPeer.java | 28 |
2 files changed, 19 insertions, 14 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 0c866a4ba3d..8735b33cbe2 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2004-11-16 Michael Koch <konqueror@gmx.de> + + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (buildString): Optimise String building. + 2004-11-15 Jerry Quinn <jlquinn@optonline.net> * java/awt/TextArea.java (AccessibleAWTTextArea, diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.java b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.java index 5b873e58240..ee051451026 100644 --- a/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.java +++ b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.java @@ -95,31 +95,31 @@ public class GdkFontPeer extends ClasspathFontPeer * triplicate. */ - private String buildString(CharacterIterator i) { - String s = new String (); - for(char c = i.first(); c != CharacterIterator.DONE; c = i.next()) - s += c; - return s; + private String buildString(CharacterIterator iter) + { + StringBuffer sb = new StringBuffer(); + for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) + sb.append(c); + return sb.toString(); } - private String buildString(CharacterIterator iter, int begin, int limit) { - String s = new String (); + private String buildString(CharacterIterator iter, int begin, int limit) + { + StringBuffer sb = new StringBuffer(); int i = 0; for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next(), i++) { if (begin <= i) - s += c; + sb.append(c); if (limit <= i) break; } - return s; + return sb.toString(); } - private String buildString(char[] chars, int begin, int limit) { - String s = new String (); - for(int i = begin; i <= limit; i++) - s += chars[i]; - return s; + private String buildString(char[] chars, int begin, int limit) + { + return new String(chars, begin, limit - begin); } /* Public API */ |