String最多容纳多少字符?大家有没有试验过?

解决方案 »

  1.   

    1Gb都没问题,看你的jvm能不能承受了(jvm的内存有关)
      

  2.   

    sorry 更正, 俺做的测试有问题, 应该是只受内存的限制的. 呵呵
      

  3.   

    是有限制的,最大不能超过 int 型能存的最大正整数,比如 int 型能存 -32768到32767,那么String最多也就能存32767个字符。当然java里的 int 型比上面说的范围大,注意我说的是不超过,没说具体是多少,你自己试吧。说能存1G的朋友,你真的存过?
      

  4.   

    与系统有关,在一般的windows系统中(NT核心),理论上是2G(2^31),正如楼上所说,是int的范围的最大值
      

  5.   

    嘿嘿,我还真存了1G的字符串另外,真如你所说,能存int能表示的范围,那你自然可以算出因为java的int型可以表示21亿之多,这么多字节是多少GB,我想你应该知道
      

  6.   

    To
     kevinliuu(@。@) ( ) 信誉:107  我开始真的很奇怪你是怎么存下1G的内容,后来想想理由只有一个:就是你的硬盘大。如果每个人都这么用字符串的话,我真是不敢想象了。搂主怎么不给分啊?
      

  7.   

    我的电脑比较破(学校的教师机)。做了一个循环测试。想看看什么时候发生异常。代码如下
    public void test(){
    String a="";
    int i=0;
    while(true){
    i++;
    System.out.println(i);
    a+="a";
    }

    }
    结果我电脑死机了。应该是足够用了吧。
      

  8.   

    偶最多处理过几百兆的东东,没有遇到什么问题
    当初偷懒,用个string一下把文件内容都读了进来。
      

  9.   

    String的getLength()是这样写的:
    public int length() {
            return count;
        }
    而count的定义是:
    private final int count;
      

  10.   

    Integer.MAX_VALUE 吧。因为我看String里面是用的char[] value = new char(0);
      

  11.   

    应该是和内存有关的
    当初我在手机上编的时候
    就因为一个string过大
    出问题了
      

  12.   

    感觉跟CPU位数有关,或者跟int的大小有关
    至于有多大,无需你考虑,因为你不可能用那么大,因为我感觉超过64K就开始减速了。
    谁会把N大的东西放到string那还要文件干什么。
      

  13.   

    我倒用过resultSet的getString方法,
    最多只返回了5KB的东西.
    再长的话就要使用流来读取了.
      

  14.   

    resultSet.getString()好像是与数据库类型对应的吧,比如vchar2最多4000字符,再多就要用bolb了