String的值本质上是字符数组
难道字符数组的大小也没有限制了?

解决方案 »

  1.   

    看看你的j2sdk安装目录下的jre\lib\rt.jar\String.class吧!
    (怎么看?自己想办法吧!:P  )
      

  2.   

    // JBuilder API Decompiler stub source generated from class file
    // 2002-12-4
    // -- implementation of methods is not availablepackage java.lang;// Imports
    import java.io.ObjectStreamField;
    import java.io.Serializable;
    import java.io.UnsupportedEncodingException;
    import java.util.Comparator;
    import java.util.Locale;public final class String implements Serializable, Comparable, CharSequence {  // Fields
      private char[] value;
      private int offset;
      private int count;
      private int hash;
      private static final long serialVersionUID = -6849794470754667710L;
      private static final ObjectStreamField[] serialPersistentFields;
      public static final Comparator CASE_INSENSITIVE_ORDER;  // Constructors
      public String() { }
      public String(String string) { }
      public String(char[] charArray) { }
      public String(char[] charArray, int int1, int int2) { }
      public String(byte[] byteArray, int int1, int int2, int int3) { }
      public String(byte[] byteArray, int int1) { }
      public String(byte[] byteArray, int int1, int int2, String string) throws UnsupportedEncodingException { }
      public String(byte[] byteArray, String string) throws UnsupportedEncodingException { }
      public String(byte[] byteArray, int int1, int int2) { }
      public String(byte[] byteArray) { }
      public String(StringBuffer stringBuffer) { }
      String(int int0, int int1, char[] charArray) { }  // Methods
      private static void checkBounds(byte[] byteArray, int int1, int int2) { }
      public int length() { return 0;}
      public char charAt(int int0) { return '\u0000';}
      public void getChars(int int0, int int1, char[] charArray, int int3) { }
      public void getBytes(int int0, int int1, byte[] byteArray, int int3) { }
      public byte[] getBytes(String string) throws UnsupportedEncodingException { return null;}
      public byte[] getBytes() { return null;}
      public boolean equals(Object object) { return false;}
      public boolean contentEquals(StringBuffer stringBuffer) { return false;}
      public boolean equalsIgnoreCase(String string) { return false;}
      public int compareTo(String string) { return 0;}
      public int compareTo(Object object) { return 0;}
      public int compareToIgnoreCase(String string) { return 0;}
      public boolean regionMatches(int int0, String string, int int2, int int3) { return false;}
      public boolean regionMatches(boolean boolean0, int int1, String string, int int3, int int4) { return false;}
      public boolean startsWith(String string, int int1) { return false;}
      public boolean startsWith(String string) { return false;}
      public boolean endsWith(String string) { return false;}
      public int hashCode() { return 0;}
      public int indexOf(int int0) { return 0;}
      public int indexOf(int int0, int int1) { return 0;}
      public int lastIndexOf(int int0) { return 0;}
      public int lastIndexOf(int int0, int int1) { return 0;}
      public int indexOf(String string) { return 0;}
      public int indexOf(String string, int int1) { return 0;}
      static int indexOf(char[] charArray, int int1, int int2, char[] charArray3, int int4, int int5, int int6) { return 0;}
      public int lastIndexOf(String string) { return 0;}
      public int lastIndexOf(String string, int int1) { return 0;}
      static int lastIndexOf(char[] charArray, int int1, int int2, char[] charArray3, int int4, int int5, int int6) { return 0;}
      public String substring(int int0) { return null;}
      public String substring(int int0, int int1) { return null;}
      public CharSequence subSequence(int int0, int int1) { return null;}
      public String concat(String string) { return null;}
      public String replace(char char0, char char1) { return null;}
      public boolean matches(String string) { return false;}
      public String replaceFirst(String string, String string1) { return null;}
      public String replaceAll(String string, String string1) { return null;}
      public String[] split(String string, int int1) { return null;}
      public String[] split(String string) { return null;}
      public String toLowerCase(Locale locale) { return null;}
      public String toLowerCase() { return null;}
      public String toUpperCase(Locale locale) { return null;}
      public String toUpperCase() { return null;}
      public String trim() { return null;}
      public String toString() { return null;}
      public char[] toCharArray() { return null;}
      public static String valueOf(Object object) { return null;}
      public static String valueOf(char[] charArray) { return null;}
      public static String valueOf(char[] charArray, int int1, int int2) { return null;}
      public static String copyValueOf(char[] charArray, int int1, int int2) { return null;}
      public static String copyValueOf(char[] charArray) { return null;}
      public static String valueOf(boolean boolean0) { return null;}
      public static String valueOf(char char0) { return null;}
      public static String valueOf(int int0) { return null;}
      public static String valueOf(long long0) { return null;}
      public static String valueOf(float float0) { return null;}
      public static String valueOf(double double0) { return null;}
      public native String intern();
    }
      

  3.   

    我明白了
    容量取决于 char value[] 的极限~