键盘手C 2016-04-24 08:03 采纳率: 60%
浏览 1385

关于java中的String类的方法的问题

新人初学java,今天遇到这样一个问题:
我知道在java中,String是一个字符串类,但是它的一些问题有点疑惑不解
1.定义数据类型
String str;
我知道这是定义了一个str变量
但是却又出现了一个问题;
Sting str = new String(c,0,4) // c是数组
我查了下jdk
文档,Sring类当中有很多方法,我知道调用其中的的方法必须要实例化,也就是创建一个对象,但是我不明白就是为什么在声明变量的时候不用new呢,应该也是要分配空间去存放这个变量的呀,这是为什么呢,麻烦各位解答了,在下谢谢各位了

  • 写回答

4条回答

  • Robot-C 2016-04-24 08:12
    关注

    此问题在项目中被发现,经查看JDK源码(JDK1.6),String类的public String substring(int beginIndex, int endIndex)的实现让我很意外。

    想重现这个场景很容易,请看代码。

     

     

    [java] view
    plaincopy

    import&n......
    答案就在这里:String类substring方法导致的Java内存泄漏问题
    ----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

    评论

报告相同问题?

悬赏问题

  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线