1 32 package net.sf.retrotranslator.runtime.java.lang; 33 34 import java.util.*; 35 36 39 public class _String { 40 41 public static String convertConstructorArguments(int[] codePoints, int offset, int count) { 42 if (offset < 0) { 43 throw new StringIndexOutOfBoundsException (offset); 44 } 45 if (count < 0) { 46 throw new StringIndexOutOfBoundsException (count); 47 } 48 if (offset + count > codePoints.length || offset + count < offset) { 49 throw new StringIndexOutOfBoundsException (offset + count); 50 } 51 char[] chars = new char[count * 2 >= 0 ? count * 2 : Integer.MAX_VALUE]; 52 int index = 0; 53 for (int i = 0; i < count; i++) { 54 index += _Character.toChars(codePoints[offset + i], chars, index); 55 } 56 return new String (chars, 0, index); 57 } 58 59 public static int codePointAt(String s, int index) { 60 return _Character.codePointAt(s, index); 61 } 62 63 public static int codePointBefore(String s, int index) { 64 return _Character.codePointBefore(s, index); 65 } 66 67 public static int codePointCount(String s, int beginIndex, int endIndex) { 68 return _Character.codePointCount(s, beginIndex, endIndex); 69 } 70 71 public static boolean contains(String s, CharSequence cs) { 72 return s.indexOf(cs.toString()) >= 0; 73 } 74 75 public static boolean contentEquals(String s, CharSequence cs) { 76 return s.length() == cs.length() && s.equals(cs.toString()); 77 } 78 79 public static String format(String format, Object ... args) { 80 return new Formatter().format(format, args).toString(); 81 } 82 83 public static String format(Locale locale, String format, Object ... args) { 84 return new Formatter(locale).format(format, args).toString(); 85 } 86 87 public static int offsetByCodePoints(String s, int index, int codePointOffset) { 88 return _Character.offsetByCodePoints(s, index, codePointOffset); 89 } 90 91 public static String replace(String s, CharSequence target, CharSequence replacement) { 92 String pattern = target.toString(); 93 int patternIndex = s.indexOf(pattern); 94 if (patternIndex < 0) return s; 95 if (pattern.length() > 0) { 96 StringBuilder builder = new StringBuilder (); 97 int startIndex = 0; 98 do { 99 builder.append(s.substring(startIndex, patternIndex)).append(replacement); 100 startIndex = patternIndex + pattern.length(); 101 patternIndex = s.indexOf(pattern, startIndex); 102 } while (patternIndex >= 0); 103 return builder.append(s.substring(startIndex)).toString(); 104 } else { 105 StringBuilder builder = new StringBuilder (); 106 for (int i = 0; i < s.length(); i++) { 107 builder.append(replacement).append(s.charAt(i)); 108 } 109 return builder.append(replacement).toString(); 110 } 111 } 112 113 116 public static boolean isEmpty(String s) { 117 return s.length() == 0; 118 } 119 120 } 121 | Popular Tags |