为什么说java的String相加减效率低?
答案:4 悬赏:70 手机版
解决时间 2021-03-16 18:35
- 提问者网友:我是女神我骄傲
- 2021-03-16 05:41
为什么说java的String相加减效率低?
最佳答案
- 五星知识达人网友:怀裏藏嬌
- 2021-03-16 06:04
数据量少时可以忽略。主要是不要在循环里使用 + 连接字符串。
可以使用StringBuffer/StringBuilder连接字符串,最好预估一下最终字符串的长度,在初始化时传入:
StringBuilder builder = new StringBuilder(1024);
可以使用StringBuffer/StringBuilder连接字符串,最好预估一下最终字符串的长度,在初始化时传入:
StringBuilder builder = new StringBuilder(1024);
全部回答
- 1楼网友:人间朝暮
- 2021-03-16 08:44
敲个代码试试
public class stringtoint {
private static final int times = 10000000;
public static void main(string [] args){
int a=10;
long start1 = system.currenttimemillis();
for(int i=0;i
- 2楼网友:鱼芗
- 2021-03-16 08:10
你好,java中的String类创建的字符串是不可变字符串。
也就是说不能改变字符串的值。
当你在对字符串相加减时会生成新的String对象。
所以效率低。建议使用StringBuilder。
如果满意,请采纳,谢谢。
- 3楼网友:醉吻情书
- 2021-03-16 07:03
因为java.lang.String是final类,String相加,对象发生改变,会在堆里面重新创建新对象,这样多次相加会增大内存开销。
在编写代码的过程中,考虑到字符串多次相加减,最好使用java提供的StringBuffer和StringBuilder,它的对象可变,相当于捏泥人,随便你怎么捏,它都是同一个泥人。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯