String s = new String(bytes[] b)bytes b = s.getBytes();你说的转换是不是用的这两个方法?

解决方案 »

  1.   

    就是用这两个方法-------------------------------------------
    String s = new String(bytes[] b)bytes b = s.getBytes();你说的转换是不是用的这两个方法?
      

  2.   

    那两个方法都是jdk提供的,如果这样都不行,那只能找找别的方法了.
    你在String和byte[]之间转换的目的是什么?要达成什么目标?
      

  3.   

    byte[]是作为参数由另一个系统传过来的,接口不能改
      

  4.   

    目的很简单,就是把byte[]转换成字符串,其他的不用管,只是转换要很大内存,我们想用尽量少的内存完成。
    ------------------------------------------------------------------------
    那两个方法都是jdk提供的,如果这样都不行,那只能找找别的方法了.
    你在String和byte[]之间转换的目的是什么?要达成什么目标?
      

  5.   

    string转换成byte[],我想内存溢出的可能性不是很大。不过byte[]转化成String的话,那就可能性很大了。你说的这种情况,也许应该考虑一下你们的设计了。
      

  6.   

    如果是超出内存范围,根本不可能声明那么大的byte数组,你可以试试
    byte[] b = new byte[400000000];
    在我的机器上报内存不足.
    你所提到的byte[]是以流的形式传入的还是以变量的形式传入?
      

  7.   

    public void load(byte[] content) {
       ...
    }
    content由另一个系统传过来,很大的,现在就是要把content变成String型
      

  8.   

    用for循环加StringBuffer试下不过觉得你很奇怪,几百兆的字符数据,你要干吗?!
      

  9.   

    用for循环加StringBuffer试下不过觉得你很奇怪,几百兆的字符数据,你要干吗?!
      

  10.   

    用for循环加StringBuffer试下不过觉得你很奇怪,几百兆的字符数据,你要干吗?!
      

  11.   

    也不行的,还是不够内存-----------------------------------------
    用for循环加StringBuffer试下不过觉得你很奇怪,几百兆的字符数据,你要干吗?!
      

  12.   

    即使其他系统给你的,也不可能一下以内存交换的形式给这么大呀,
    谁家的内存能支撑呀,绝对是一个错误的设计,如果不是内存,而
    是流(比如管道,文件),这个就可以很轻松的处理即使他用的byte[]形式传过来,你依然可以先构造一个字节流,再
    把流构造为字符流,再读字符流,这个对内存的压力要小的多
      

  13.   

    即使他用的byte[]形式传过来,你依然可以先构造一个字节流,再
    把流构造为字符流,再读字符流,这个对内存的压力要小的多可是照他说的,在构建这个数组的时候就有可能把内存撑爆了,更谈不上作为参数传进来了
      

  14.   

    这样的系统怎么转啊???
    连google也会怕的